12. 예외처리
1) 예외 (Exception) : 소스 코드 수정으로 해결 가능한 에러
2) 예외 처리 방법
(1) if문
- 장점 : 프로그램이 종료되지 않고, 예외 상황에서는 if문 실행하지 않게 함.
- 단점 : if문을 너무 자주, 깊이 사용하면 예외 상황 처리인지 주 흐름 코드인지 구분 안됨.
(2) try-catch문
- 예외상황이 발생할 수 있는 지역에 한해서 예외 처리하고 어떻게 처리할지도 결정
- 반드시 출력하고 싶은 경우 finally에 작성
(3) throws
- 예외처리를 하지 않고 자신을 호출한 상위 메소드에게 처리를 위임.
3) RuntimeException 후손
- ArrayIndexOutOfBoundsException : 배열의 접근에 잘못된 인덱스 값 사용. 배열 범위 초과
- ClassCastException : 잘못된 형변환
- NegativeArraySizeException : 배열 선언 과정에서 배열의 크기를 음수로 지정
- NullPointerException : 참조변수가 null로 초기화 된 상황에서 메소드 호출하는 상황.
- ArithmeticException : 나누기 연산에서 분모가 0인 경우 발생.
4) CheckedException
- 반드시 예외처리를 해야하며, 조건문, 소스코드의 수정으로 해결이 안됨.
- 주로 외부 매개체의 입출력시 발생.
- IOException 입출력 과정 중 문제가 생겼을 때 던지는 예외
5) 사용자 정의 예외
- 일반 예외 선언 시 : Exception 상속
- 실행 예외 선언 시 : RuntimeException 상속
- 생성자는 두 개를 선언하는 것이 일반적.
- 매개 변수 없는 기본 생성자
- 예외 발생 원인(메시지) 전달하기 위한 String 타입의 매개 변수를 갖는 생성자
'Java' 카테고리의 다른 글
서비스 전체 트랜잭션 롤백 처리 (0) | 2023.11.08 |
---|---|
자바 요약 정리 - 입출력 (0) | 2021.07.12 |
자바 요약 정리 - 이차원배열 (0) | 2021.07.12 |
자바 요약 정리 - 객체배열 (0) | 2021.07.12 |
자바 요약 정리 - 배열 (0) | 2021.07.08 |