[Java] 예외처리 - try~catch~finally

Jae·2022년 2월 22일
0

Java

목록 보기
1/7

예외처리

try~catch~finally

**try** {
	예외의 발생이 예상되는 로직
} **catch** (예외클래스 인스턴스) {
	예외가 발생했을 때 실행되는 로직
} **finally** {
	예외여부와 관계없이 실행되는 로직 (예외와 관계없이 무조건적으로)
}
  • catch = 일종의 뒷수습 장치
  • finally 사용은 필수적이지는 않다.

예시

public void divide(){
    try {
        System.out.print("계산결과는 ");
        System.out .print(this.left/this.right);
        System.out.print(" 입니다.");
    } catch(Exception e){
        System.out.println("오류가 발생했습니다 : "+e.getMessage()); // "/ by zero"
    }
}
  • try문에서 error 발생 시, 바로 중단하고 catch문으로 감
  • 일종의 메소드라고 해도 크게 다르지 않을 것 같음

주의사항

예외처리의 순서

  • try~catch문에서 상위 class를 하위 class보다 아래에 놓음으로써, 모든 예외처리를 거치도록 한다.
  • try 블록에서 예외가 발생했을 때, 예외를 처리해 줄 catch 블록은 위에서부터 차례대로 검색된다. 상위 예외 class의 catch 블록이 위에 있다면, 하위 예외 class의 catch 블록은 실행되지 않는다.
  • 가장 상위 예외처리 class인 Exception e를 위에 놓으면, 나머지 예외처리 class들은 실행되지 않는다.
profile
Jae's Development Area : 재개발구역

0개의 댓글