Java

각종 예외의 발생조건과 의미

bang2001 2013. 7. 25. 16:45

ArrayIndexOutOfBoundsException

 -> 배열이 잘못된 색인으로 액세스 되었음을 나타내기 위해 발생한다.

 -> 잘못된 배열요소를 참조할 경우에 발생한다.


ArithmeticException

 -> 0으로 정수를 나눌때와 같은 수학적으로 부적절한 계산을 실행할 때 발생한다.


ArrayStoreException

 -> 객체배열에 잘못된 객체유형을 저장하려고 할 때 발생한다.


AWTError

 -> 심각한 Abstract Window Toolkit 오류가 발생할 때


CheckedException

 -> 컴파일러에 의해 검사된 예외


EmptyStackException

-> 스텍이 비었음을 나타내기 위해 Stack클래스에 있는 메소드에 의해 발생


IllegalMonitorStateException

 - >위의 예외는 스레드가 락을 부정적으로 점유하였을 때 발생하는 예외이다.

     Illega(불법적인) Monitor(모니터?) State(상태) Exception(예외)

 

 여기서 말하는 Monitor 란 하나의 스레드가 동기화된 블럭을 점유하고 있을때의 상황을 

 표현하기를 "스레드가 모니터를 가지고 있다" 라고 표현한다. 즉 모니터란 스레드가 

 동기화된 자원에 대한 점유를 말한 것이다.


IllegalThreadStateException

- >하나의 자원(Thread가 구현된 객체)로 두개의 스레드를 생성하려고 할 때 발생한다.

    RunTimeException이다. 보통 하나의 Thread에 start() 메소드를 두개를 동시에 호출할 때 

    발생한다.


InstantiationException

- >객체를 생성할 수 없을때 나타나는 예외이다. 예를들어서 아이바티스(ibatis)를 통해서 

     객체를 자동생성하려고 할때 기본생성자를 생성하게 되는데 인자생성자를 생성 후

     기본생성자를 정의하지 않아서 생성사를 생성할수 없을때 이러한 예외가 발생하게 된다.

     이 예외는 java.lang 패키지에 있다.


NullPointerException

- >참조하고 있지 않은 객체의 속성이나 메소드를 사용하려 할 때 발생하는 예외이다.

    객체변수가 객체를 참조하고 있지 않은 상태에서 메소드를 호출할 때 발생하게 된다.

    이 예외는 java.lang 패키지에 있다.


'Java' 카테고리의 다른 글

접근지정자의 접근범위  (0) 2013.07.25
SCJP 80번 문제 / synchronized  (0) 2013.07.25
Arrays.binarySearch() 메소드  (0) 2013.07.25
간단한 Comparable 인터페이스를 구현한 클래스 만들기  (0) 2013.07.25
Collection 개요  (0) 2013.07.25