(3차 세미나는 누구에게든 고비인 것 같다 . . . 여러분 힘내세요)
JAVA에서 예외는 런타임 (실행) 중 발생 가능한 오류 및 예외 상황을 처리하는데 사용됩니다. 이 예외는 Checked Exception 과 Unchecked Exception으로 나뉘게 됩니다.
에러와 예외 관련된 클래스들의 계층 구조는 위와 같은데, Throwable 클래스를 기준으로 Error, Exception 클래스로 나뉘게 되고, Error는 에러와 관련된 클래스, Exception은 예외와 관련된 클래스입니다.
에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생합니다. 메모리 부족이나 스택 오버 플로우 같이 복구할 수 없는 상황입니다. (개발자가 처리 불가)
예외는 실행 중 예기치 않은 상황이 발생했을 때를 말합니다. 이런 예외는 이에 대한 처리가 가능합니다.
FileNotFoundException, IOException, SQLException, ClassNotFoundException, InterruptedException 등의 예외가 있습니다.
Checked와 달리 컴파일 시 컴파일러에서 확인하지 않는 예외로, NullPointerException, ArrayIndexOutOfBoundsException 에러가 이에 해당합니다.