2017. 2. 3. 02:41ㆍWork/Java
Throwable class
Throw(던지다) + able(할 수 있는)
Throwable th = new Throwable();
Throwable th = new Throwable("Error From System");
throws, throw 키워드 (예외를 던지는 부분을 구현하기 위한 방식)
try {...}
catch (Exception e) {...}
-> try - catch
-> catch(Throwable th)를 사용하지 말자
: 개발 초기 단계에는 Throwable로 모든 오류를 잡고 그 뒤에는 Exception으로 수정해서 배포
public void runTest() throws Exception {
throw new Exception("Null Parameter"); // 강제로 예외처리를 하게 함
}
public void runTest() throws ArithmeticException, ClassNotFoundException {...}
-> 오류 클래스들의 최상위 클래스, Error와 Exception을 추상화한 클래스
Exception class
Exception e = new Exception(th);
- RuntimeException
- ClassCastException
- ArithmeticException
- NegativeArraySizeException
- NullPointerException
- ArrayStoreException
- IndexOutOfBoundException
- SecurityException
- CloneNotSupportException
- IllegalAccessException
- IntantiationException
- NoSuchMethodException
- ClassNotFoudException
- IOException
- EOFException
- FileNotFoundException
- InterrupttediException
새로운 Exception 클래스 생성
public class NewException extends Exception{
public NewException() { super(); }
public NewException(String message) { super(message); }
public NewException(String message, Throwable cause) { super(message, cause); }
public NewException(Throwable cause) { super(cause); }
}
-> 반드시 Throwable 클래스를 상속해야 한다.
-> 가능하면 Exception 클래스의 생성자를 모두 오버라이딩 해야 한다.
-> Throwable의 자식 클래스,
Error class
Error
-> Throwable의 자식 클래스