java에서 예외 발생시 프로그램 실행 시
try ~ catch ~ finally 구문을 통해 예외 상황에 대응가능
try{
// 기본적으로 실행되는 부분
} catch( 예외클래스이름 객체이름 ){
// try 블록에서 예외가 발생한 경우
// 이곳으로 제어가 넘어옴
} finally {
// 예외 발생 여부에 상관없이 무조건 실행
// 생략 가능
}
try {
String year2 = "나이";
int age2 = 2023 - Integer.parseInt(year2);
System.out.println(age2);
} catch ( NumberFormatException e ) { // 넘버 포맷 예외가 발생했을 때 예외에 대한 정보를 갖고 있는 파라미터 e
System.out.println("에러가 발생했습니다.");
} finally {
System.out.println("----프로그램 종료----");
}
e.printStackTrace();
e.getMessage()
<< Exception 클래스 예시를 보기 위한 오류 구문 >>
String[] src = {"8", "7", "다"} ;
//src의 내용들을 숫자로 변환해서 저장할 배열
int[] arr = new int[3];
try {
for( int i = 0; i<src.length; i++) {
arr[i] = Integer.parseInt(src[i]);
}
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("데이터가 너무 많습니다.");
} catch (Exception e) {
System.out.println("알 수 없는 예외가 발생했습니다.");
} finally {
System.out.println("--데이터 변환 종료--");
}
System.out.println("-----프로그램 종료합니다-----");
// catch 구문으로 배열에 관한 예외만 두었기 때문에
// 문자열에 대한 예외 못 잡음
결과