반응형
Java의 Error 처리
- error 또는 exception 상황에 Throwable을 상속받은 객체를 throw 함으로써 에러 상황 전파
- C와 같이 return값을 통해 전파하지 않음
- Throwable은 recoverable exceptions 와 unrecoverable errors의 2개의 Subclass를 가짐
- Throwable은 Error와 RuntimeException을 제외하고 명시적으로 throws 하거나 try ~ catch 해주어야 한다
Exception
- 프로그램이 만날 수 있는 대처가 가능한 error를 정의
- Exception이 발생하는 경우
존재하지 않는 파일을 오픈하려고 할 때
network연결에 문제가 생긴 경우
연산을 수행하는데 있어, 범위를 벗어난 경우
로드 해야 할 클래스파일을 로드하지 못한 때
- Error 클래스는 심각한 상황을 정의
RuntimeException
VM에서 앱 실행 중 발생하는 예외상황
- ArithmeticException : 0으로 나눈 경우
- NullPointerException : 객체를 생성하지 않고 참조할 경우 객체가 없을 경우
- NegativeArraySizeException : 배열 사이즈가 마이너스일 경우
- ArrayIndexOutOfBoundsException : 배열의 범위를 넘어서 참조할 경우
- SecurityException : applet 등에서 파일에 접근할 경우
인위적인 Exception 던지기
public void makeError() throws OutOfMemoryError{
thrownew OutOfMemoryErre("test outofmemory");
}
Method Overring Exception
상위 메소드에서 던져진 예외나 그 예외의 하위 클래스 예외만을 던질 수 있다
throw와 try ~ catch의 차이
throw로 던질 경우 상위의 메소드로 Exception을 던지겠다는 의미
try ~ chatch로 처리할 경우 현재 메소드에서 처리하겠다는 의미
반응형
댓글