반응형
try-catch-finally 블록
try{
} catch(예외클래스 e) {
// 예외 처리
} finally {
//정상 실행
}
(finally 블록은 항상 실행되는 부분이다)
다중 catch
발생하는 예외별로 예외 처리 코드를 다르게 하는 다중 catch 블록을 가질 수 있다.
try{
} catch(예외클래스1 e) {
// 예외 처리1
} catch(예외클래스1 e) {
// 예외 처리2
}
하지만 첫번째 catch에 예외클래스로 Exception을 사용하면 모든 예외가 Exception에 상속되어 있기 때문에 첫번째 줄에
다 catch 되어서 컴파일 오류가 발생하게 된다.
throws 키워드 사용
throws 키워드는 메소드에서 처리하지 않은 예외를 호출한 곳으로 넘김으로써 호출한 곳에서 다양한 방식으로 처리할 수 있도록 한다.
리턴타입 메소드이름(매개변수,) throws 예외클래스1,예외클래스2,..{}
//예외 클래스를 전부 다 나열하는 것 대신에 Exception 클래스를 사용해도 됨
public void method() {
try {
method2();
} catch(ClassNotFoundException e) {
//e.printStackTrace();
System.out.println("class not found");
}
}
public void method2() throws ClassNotFoundException {
Class claszz=Class.forName("jang.lang.String2");
}
# printStackTrace 메소드는 어떤 오류인지 추적해주는 메소드로서 어떤 오류인지 찾아낼 때 유용함
반응형
'Language > Java' 카테고리의 다른 글
Java 예외 클래스 (0) | 2022.06.12 |
---|---|
Java 익명 객체 (0) | 2022.06.12 |
Java 중첩 클래스와 중첩 인터페이스 (0) | 2022.06.11 |
Java 타입 변환과 다형성 (0) | 2022.06.06 |
Java 인터페이스 (0) | 2022.05.30 |