2013년 11월 6일 수요일

자바예외클래스종류(Java Exception Class),사용자정의오류,Throwable

자바예외클래스종류(Java Exception Class),사용자정의오류,Throwable




 
[그림-자바에서의 예외 및 오류]
 
-Throwable

  -- Error

    심각한 오류, JVM 스스로가 시스템을 보호하기 위해 에러를 발생 시킴
    언제나 발생 가능 하므로 처리하지 않아도 되는 예외(Unchecked exception, try/catch로 잡아내지 못하므로 컴파일시 처리 안해도 된다, 즉 try - catch로 싸거나 throws 안해도 된다는 이야기임) 

    ArrayIndexOutOfBoundsException, AWTError, LinkageError, ThreadDeath, VirtualMachineError, StackOverflow…
 
[예]
 
//아래 ArrayIndexOutOfBoundsException 예외는 런타임 예외이므로 컴파일시에는 check안함(unchecked exception)
class Test
{
    public static void main(String[] args)
    {
        System.out.println(args[5]);
    }
}
 
C:> java Test
java.lang.ArrayIndexOutOfBoundsException: 5
        at UncaughtExceptTest.main(Test.java:5)
 

- Exception
 
-- RuntimeException
 
ArithmeticException ...
프로그램 오류, 컴파일시에는 검사하지 못한다.
자주 발생 가능 하므로 처리하지 않아도 되는 예외(Unchecked exception)
 
-- IOException ...

RunTimeException을 제외한 Exception을 상속하는 예외들을 의미하며 반드시 try/catch 구문을 이용하여 예외를 초리하는 형식을 취해 줘야 한다.
Checked Exception(컴파일시 처리해 줘야 한다.)

[사용자 정의오류]
 
 자신을 호출한 메소드로 예외를 전달하지 않고 자신의 메소드안에서 예외를 처리하는것은 바람직하지 않다. (오류가 난후라도 호출한 메소드로 돌아가서 정상적인 작업을 수행한다.)  




[그림-자바 사용자정의오류] 

[개강임박강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]

오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(
www.onjprogramming.co.kr)

[주간]
  [11/13]SQL초보에서실전전문가까지
  [11/13]안드로이드개발자과정
  [11/18]Spring3.X, MyBatis, Hibernate실무과정
  [11/18]iPhone 하이브리드 앱 개발 실무과정

[평일야간]
  [11/08]C#,ASP.NET마스터
  [11/08]Spring3.X, MyBatis, Hibernate실무과정
  [11/12]iPhone 하이브리드 앱 개발 실무과정
  [11/14]JAVA&WEB프레임워크실무과정

[주말]
  [11/09]JAVA&WEB프레임워크실무과정
  [11/09]웹퍼블리싱 마스터
  [11/16]C#,ASP.NET마스터
  [11/16]PL/SQL,오라클힌트,SQL튜닝,사례연구
  [11/16]ASP.NET4.0 MVC 프로그래밍
  [11/16]Spring3.X, MyBatis, Hibernate실무과정




댓글 없음:

댓글 쓰기