2014년 4월 23일 수요일

[Java]Exception 종류


  • RuntimeException

컴파일 타임에는 예외가 발생하지 않고 실행시에만 에러가 발생하는 예외들을 말한다.
예외 처리를 하지 않아도 컴파일 타임에 에러가 발생하지 않으므로 UnCheckedException이라고도 한다. 런타임 예외는 대부분 개발자의 실수에서 온다.
레퍼런스 변수값을 초기화하지 않고 호출할시에 오는 NullPointerException
배열의 인덱스를 넘는 부분을 참조할 때 발생하는 ArrayIndexOutOfBoundsException
정수를 0으로 나누어서 발생하는 ArithmeticException 등의 예외들이 있다.
  • RuntimeException이 아닌 일반 Exception들
런타임 예외를 제외한 나머지 일반 예외들은 컴파일 타임에 예외가 발생하기때문에 반드시 예외처리를 해주어야 한다. 따라서 CheckedException이라고도 한다.
일반 예외들은 개발자의 실수에서 보단 사용자의 작업에의해 발생하는 경우가 많다.
파일 검색 프로그램에 사용자가 없는 파일의 이름을 입력했을 때 FileNotFoundException
시스템 상황에 따라 입출력시 예외가 발생할 수 있으므로 IOException

  • 사용자 정의 예외
자바에서 제공되는 예외 클래스만으로 특정 상황에 대한 예외 정보를 저장할 수 없을 때는 사용자정의 예외를 만들어서 발생한 상황에 대한 정보를 저장할 수 있다.
생성시 Throwable클래스를 상속받아서 정의해도 되지만 개발자들이 예외처리하는 대상의 가장 가까운 형태의 상위클래스인 Exception클래스를 상속받아 정의하는 것이 간편하다.

IllegalArgumentException : 인수가 맞지 않아 생기는 예외


댓글 없음:

댓글 쓰기