- 예외(exception): 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류
- 예외 처리(exception handling): 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있음
- 자바는 예외 처리 유무를 확인하고 예외 처리 코드가 없다면 컴파일이 안됨
예외와 예외 클래스
- 일반 예외: exception
- 실행 예외:runtime exception
- RuntimeException 클래스 기준으로 구분
실행 예외
- 자바 컴파일러가 체크하지 않기 때문에 개발자가 예외 처리 코드를 작성해야 함
NullPointerException
- 객체 참조가 없는 상태, 즉 null 값을 갖는 참조 변수로 객체 접근 연산자인 도트(.)를 사용했을 때 발생
- 객체가 없는 상태에서 객체를 사용하려고 할때 생기는 예외
ArrayIndexOutOfBoundsException
- 배열에서 인텍스 범위를 초과할 경우 생기는 실행 예외
NumberFormantException
- 문자열을 숫자로 변환 할 때 숫자로 변환될 수 없는 문자가 포함되어 있을 때 발생
ClassCastException
- 타입변환은 상위클래스와 하위 클래스 간에 발생하고 구현 클래스와 인터페이스 간에 발생하는데 이런 관계가 아닐 때 발생하는 예외
- instanceof 연산자 사용해서 타입 변환 전에 변환 가능한지 확인하기
확인문제
- 예외는 사용자의 잘못된 조작 개발자의 잘못된 코딩으로 인한 프로그램 오류를 말한다.
- RuntimeException의 하위 클래스는 컴파일러가 예외처리 코드를 체크하지 않는다.
- 예외는 클래스로 관리된다.
- Exception의 하위 클래스는 모두 일반 예외에 해당한다. (x)
'Java > 혼자 공부하는 자바' 카테고리의 다른 글
혼자공부하는 자바 10-2 예외 처리 (0) | 2022.12.11 |
---|---|
혼자공부하는자바 9-2 익명 객체 (0) | 2022.12.07 |
혼자공부하는자바 9-1 중첩 클래스와 중첩 인터페이스 소개 (0) | 2022.12.07 |
혼자공부하는자바 8-2 타입 변환과 다형성 (0) | 2022.12.05 |
혼자공부하는자바 8-1 인터페이스 (0) | 2022.12.05 |