Try-Catch 문을 사용할 때 Catch문을 여러개 사용할 경우, 하위에 해당하는 Exception부터 처리해야함.
ex ) ArithmeticException -> RuntimeException -> Exception 순으로
public class ExceptionEx1 {
public static void main(String[] args) {
try {
System.out.println(1/0);
} catch (ArithmeticException e) { //ArithmeticException만 실행
System.out.println("0으로 나누지 마세요");
e.printStackTrace();
} catch (RuntimeException e) { //RuntimeException중 ArithmeticException이 아닌것만 실행
System.out.println("연락요망");
e.printStackTrace();
} catch (Exception e) { //RuntimeException 이외의 나머지 Exception이 실행
e.printStackTrace();
}
}
}
try문을 실행하다가 예외가 발생했을 때 여러개의 catch문이 존재한다면 위에서부터 instanceof의 결과가 true인 catch문을 찾아내려간다. 찾으면 그 catch문 하나만을 실행하고 try-catch문을 빠져나온다.
● return시 순서
public class ExceptionEx3 {
public static void main(String[] args) {
try {
System.out.print(1);
System.out.print(2);
System.out.print(3/0); // exception 발생
System.out.print(4);
} catch (Exception e) {
System.out.print(5);
return; //main method 종료
} finally {
System.out.print(6);
}
System.out.print(7);
}
}
> 1256
'Langauge > JAVA' 카테고리의 다른 글
쓰레드(Thread) (0) | 2020.05.31 |
---|---|
지네릭(Generics) (0) | 2020.05.31 |
내부 클래스 (0) | 2020.05.21 |
오버로딩 vs 오버라이딩 (0) | 2020.05.15 |
클래스멤버와 인스턴스멤버 간의 참조와 호출 (0) | 2020.05.14 |