- RuntimeException
컴파일 타임에는 예외가 발생하지 않고 실행시에만 에러가 발생하는 예외들을 말한다.
예외 처리를 하지 않아도 컴파일 타임에 에러가 발생하지 않으므로 UnCheckedException이라고도 한다. 런타임 예외는 대부분 개발자의 실수에서 온다.
레퍼런스 변수값을 초기화하지 않고 호출할시에 오는 NullPointerException
배열의 인덱스를 넘는 부분을 참조할 때 발생하는 ArrayIndexOutOfBoundsException
정수를 0으로 나누어서 발생하는 ArithmeticException 등의 예외들이 있다.
- RuntimeException이 아닌 일반 Exception들
일반 예외들은 개발자의 실수에서 보단 사용자의 작업에의해 발생하는 경우가 많다.
파일 검색 프로그램에 사용자가 없는 파일의 이름을 입력했을 때 FileNotFoundException
시스템 상황에 따라 입출력시 예외가 발생할 수 있으므로 IOException
생성시 Throwable클래스를 상속받아서 정의해도 되지만 개발자들이 예외처리하는 대상의 가장 가까운 형태의 상위클래스인 Exception클래스를 상속받아 정의하는 것이 간편하다.
IllegalArgumentException : 인수가 맞지 않아 생기는 예외
- 사용자 정의 예외
생성시 Throwable클래스를 상속받아서 정의해도 되지만 개발자들이 예외처리하는 대상의 가장 가까운 형태의 상위클래스인 Exception클래스를 상속받아 정의하는 것이 간편하다.
IllegalArgumentException : 인수가 맞지 않아 생기는 예외
댓글 없음:
댓글 쓰기