본문 바로가기
Java

[Advanced JAVA] Exceptions

by 루에 2014. 12. 24.
반응형

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로 처리할 경우 현재 메소드에서 처리하겠다는 의미



반응형

댓글