예외처리 (2)

roglog·2021년 7월 14일
0

java의 정석

목록 보기
31/36

4. 예외의 발생과 catch블럭


  • printStackTrace()
    예외발생 당시의 호출스택에 있었던 메서드의 정보와 예외 메시지를 화면에 출력함
  • getMessage()
    발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있음
    Ex)
try { } catch (ArithmeticException ae) {
	as.printStackTrace();
}
  • 멀티 catch블럭
    • catch블럭을 '|'기호를 이용해서 하나의 catch블럭으로 합칠 수 있음(개수 제한 X)
    • 만약 연결된 예외 클래스가 조상, 자손 관계에 있다면 조상 클래스만 써주는 것과 똑같기 때문에 컴파일 에러가 발생함
      Ex)
          try { } catch (ExceptionA | ExceptionB) {
              e.printStackTrace();
          }

5. 예외 발생시키기


  1. 연산자 new를 이용해서 발생 시키려는 예외 클래스의 객체를 만든다.
  2. 키워드 throw를 이용해서 예외를 발생시킨다.
    Ex)
try {
	Exception e = new Exception("예외1");
    throw e;
    
	throw new Exception("예외"2); //위의 두 줄을 한 줄로 줄일 수 있음
}

*참고

  • unchecked예외: 컴파일러가 예외처리를 확인하지 않는 RuntimeException클래스들
  • checked예외: 예외처리를 확인하는 Exception클래스들

6. 메서드에 예외 선언하기


  • 메서드에 예외를 선언하려면 메서드의 선언부에 키워드 throws를 사용해서 메서드 내에서 발생할 수 있는 예외를 적어주면 된다.
  • 예외가 여러 개일 경우에는 쉼표로 구분
  • 일반적으로 RuntimeException클래스들은 적지 않고 반드시 처리해주어야 하는 예외들만 선언
    Ex)
    void method() throws Exception1, Exception2 {
        // 메서드 내용
    }

java의 정석 chapter8

profile
Full Stack Developer 📚

0개의 댓글