- 에러 : 자바에서 컴퓨터 하드웨어 관련 고장으로 인해 응용프로그램 실행 오류가 발생하는 것
- 예외 : 그 외 프로그램 자체에서 발생하는 오류
- 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류
- 예외 처리 프로그램을 통해 정상 실행 상태 유지 가능
- 예외 발생 가능성이 높은 코드를 컴파일할 때 예외 처리 유무 확인
< RunTimeExceptoin 클래스 기준으로 일반 및 실행 예외 클래스 구분 >
(1) 일반 예외
: 컴파일러 체크 예외로 자바 소스 컴파일 과정에서 해당 예외 처리 코드 있는지 검사하게 됨
(2) 실행 예외
: 컴파일러 넌 체크 예외로 실행 시 예측할 수 없이 갑자기 발생하기에 컴파일 과정에서 예외 처리 코드 검사하지 않음
종류 | 설명 |
ArithmeticException | 정수를 0으로 나눌 때 발생 |
NullPointerException | 가장 빈번하게 발생하는 실행 예외로 객체 참조가 없는 상태 ( 객체가 없는 상태에서 객체를 사용하려 할 때 발생 ) |
ClassCastException | 변환할 수 없는 타입으로 객체를 변환할 때 발생 |
ArrayIndexOutOfBoundsException | 배열에서 인덱스 범위를 초과할 경우 발생 |
IllegalArgumentException | 잘못된 인자 전달 시 발생 |
IOException | 입출력 동작 실패 또는 인터럽트 시 발생 |
NumberFormatException | 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환 시 발생 |
InputMismatchException | Scanner 클래스의 nextInt()를 호출하여 정수를 입력 받으려 하였지만, 사용자가 문자를 입력한 경우 |
'Java' 카테고리의 다른 글
Java문법) 예외처리 -3 (ClassCastException, InputMismatchException) (0) | 2023.11.01 |
---|---|
Java문법) 예외처리 -2 (NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException) (0) | 2023.11.01 |
Java문법) final 키워드 (0) | 2023.10.30 |
Java 문법) 가변인자 (0) | 2023.10.27 |
Java문법) 메서드 오버로딩 (0) | 2023.10.26 |