정상적이지 않은 Case를 두고 예외
라고 한다.
ex) 0으로 나누기, 배열의 인덱스 초과, 없는 파일 열기 등...
try/catch
문으로 예외 처리try{
예외가 발생할 수도 있는 코드
} catch(예외 case1) {
예외 발생 시 실행할 코드
} catch(예외 case2) {
예외를 여러개 등록해서 처리 가능, 혹은 상위 예외로 처리하는 것도 가능
}
//try-catch 사용예시
try {
int a = 5 / 0 ;
} catch (ArithmeticException e) { //매개변수로 구체적인 예외를 넣어주는 것이 좋음
System.out.println(e);
}
예외 발생 여부와 관계없이 항상 실행되는 부분
try {
int a = 5 / 0;
} catch (ArithmeticException e) {
System.out.println(e);
} finally {
System.out.println("테스트 종료"); //예외가 있어도 없어도 항상 실행되는 내용
}
1️⃣throw
예외를 발생
시킴
public static boolean checkTenWithException(int ten) {
try {
if (ten != 10) {
throw new NotTenException();
}
} catch (NotTenException e) {
System.out.println(e);
return false;
}
return true;
}
2️⃣throws
전가
시킴public static boolean checkTenWithThrows (int ten) throws NotTenException {
if (ten % 3 == 0) {
return true;
}
return false;
}