예외 처리 (exception handling)
- 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대바한 코드를 작성하는 것
- 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
try-catch문 사용
try {
} catch (Exception e1) {
} catch (Exception e2) {
} catch (ExceptioN eN) {
}
- (참고) try-catch문은 괄호 생략 불가능
try-catch문에서의 흐름
- try 블럭 내에서 예외가 발생한 경우
- 발생한 예외와 일치하는 catch 블럭이 있는지 확인
- 일치하는 catch 블럭을 찾게 되면, 그 catch 블럭 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행. 만약 일치하는 catch블럭을 찾지 못하면 예외는 처리되지 못함 (비정상적 프로그램 종료)
- try 블럭 내에서 예외가 발생하지 않는 경우
- catch블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속함
예외의 발생과 catch 블럭
- 예외가 발생하면, 이를 처리할 catch 블럭을 찾아 내려감
- 일치하는 catch블럭 없으면, 예외는 처리 안됨
- Exception이 선언된 catch블럭은 모든 예외 처리(마지막 catch 블럭)