Language/Java
Java 예외 처리
@Eeap
2022. 6. 12. 20:34
반응형
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 메소드는 어떤 오류인지 추적해주는 메소드로서 어떤 오류인지 찾아낼 때 유용함
반응형