반응형
예외 처리 미루기
- 예외 처리는 예외가 발생하는 문장에서 try-catch 블록으로 처리하는 방법과 이를 사용하는 부분에서 처리하는 방법 두 가지가 있다.
- throws를 이용하면 예외가 발생할 수 있는 부분을 사용하는 문장에서 예외를 처리할 수 있음
각각 예외처리를 나눈 예시
package ch56;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class ThrowsException {
// 해당 메소드를 호출하는 쪽에서 Exception 처리를 한다
public Class loadClass(String fileName, String className) throws FileNotFoundException, ClassNotFoundException {
FileInputStream fis = new FileInputStream(fileName);
Class c = Class.forName(className);
return c;
}
public static void main(String[] args) {
ThrowsException test = new ThrowsException();
try {
test.loadClass("a.txt", "java.lang.String");
test.loadClass("a.txt", "abc");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println(e);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println(e);
}
System.out.println("end");
}
}
여러 예외 처리를 한번에 처리
try {
test.loadClass("a.txt", "abc");
} catch (FileNotFoundException | ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Exception 클래스를 활용하여 default 처리를 할 때 Exception 블록은 맨 마지막에 위치해야한다.
try {
test.loadClass("a.txt", "abc");
} catch (FileNotFoundException | ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
반응형
'언어 > JAVA' 카테고리의 다른 글
오류의 로그 남기기 - java.util.logging.Logger (0) | 2021.05.23 |
---|---|
사용자 정의 예외 클래스 (0) | 2021.05.23 |
예외 처리 방법(처리하기, 미루기) (0) | 2021.05.23 |
예외 처리 설명 (0) | 2021.05.22 |
스트림을 활용하여 패키지 여행 비용 계산하기 (0) | 2021.05.22 |