예외처리 (3)

roglog·2021년 7월 14일
0

java의 정석

목록 보기
32/36

7. finally블럭


  • 예외의 발생여부에 상관없이 실행되어야 할 코드를 포함시킬 목적으로 사용
  • try블럭에서 return문이 실행되는 경우에도 finally블럭의 문장들이 먼저 실행된 후, 현재 실행 중인 메서드 종료
    Ex)
    try {   } catch (Exception e1) {
        // 예외처리
    } finally {
        // 예외의 발생여부에 관계없이 항상 수행되어야하는 문장
    }

8. 자동 자원 반환 - try-with-resources문


  • 사용했던 자원을 반환해야 하는 경우 사용
  • try-with-resources문의 괄호 안에 객체를 생성하는 문장을 넣으면, 이 객체는 따로 close()를 호출하지 않아도 try블럭을 벗어나는 순간 자동적으로 close()가 호출 됨
    이 것이 가능하려면, 클래스가 AutoCloseable이라는 인터페이스를 구현한 것이어야만 함

9. 사용자정의 예외 만들기


  • 기존의 정의된 예외 클래스 외에 필요에 따라 프로그래머가 새로운 예외 클래스를 정의하여 사용할 수 있음
  • 보통 Exception클래스 또는 RuntimeException클래스로부터 상속받아 클래스를 만듦
    (필요에 따라서 알맞은 예외 클래스를 선택할 수도 있음)

10. 예외 되던지기


  • 예외 되던지기: 예외를 처리한 후에 인위적으로 다시 발생시키는 방법
  • catch문에서 필요한 작업을 행한 후에 throw문을 사용해서 예외를 다시 발생시킴
  • 예외가 발생할 메서드에서는 try-catch문을 사용해서 예외처리를 해줌과 동시에 메서드의 선언부에 발생할 예외를 throws에 지정해줘야 함

java의 정석 chapter8

profile
Full Stack Developer 📚

0개의 댓글