일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 공부
- 카프카
- JPA
- K8S
- querydsl
- nestjs공부
- nestjs
- 알고리즘공부
- 기술면접공부
- 코테공부
- DDD
- 스프링부트
- 코테준비
- 플러터 공부
- nestjs스터디
- JPA공부
- 플러터 개발
- 자바공부
- 스프링
- 기술공부
- 스프링부트공부
- Flutter
- JPA 공부
- 자료구조공부
- JPA스터디
- Axon framework
- JPA예제
- Kafka
- 프로그래머스
- 스프링공부
- Today
- Total
DevBoi
[Java] CheckedException, UncheckedException 본문
예외란, 입력한 값에 대한 처리가 불가능 하거나, 프로그램 실행 중에 참조된 값이 잘못된 경우 등
정상적인 프로그램의 흐름을 어긋나는 것을 말한다. 예외 상황을 미리 예측하여 핸들링 할 수있다.
에러는 시스템에 무엇인가 비정상적인 상황이 발생한 경우에 사용된다.
JVM에서 발생시키며, OOM, ThreadDeath,StackOverflowError 등이 존재한다.
예외 처리 방법에는 예외복구, 예외 처리 회피, 예외 전환 방법이 있다.
-예외 복구
예외 상황을 파악하고 문제를 해결해서 정상 상태로 돌려놓는 방법이다.
예외를 잡아서 일정 시간, 조건만큼 대기하고 다시 재시도를 반복한다.
최대 재시도 횟수를 넘기게 되는 경우 예외를 발생시킨다.
-예외처리 회피
예외 처리를 직접 담당하지 않고 호출한쪽으로 던져 회피
어느정도 처리하고 던지는 것이 좋다.
-예외 전환
예외 회피와 비슷하게 메서드 밖으로 예외를 던지지만, 그냥 던지지 않고 적절한 예외로 전환해서 넘기는 방법
그냥 던지지 않고 적절한 예외로 전환해서 넘기는 방법
조금 더 명확한 의미로 전달되기 위해 적합한 의미를 가진 예외로 변경한다.
체크 예외는 try,catch, throw 등 반드시 예외 처리를 개발자가 해야하는 특징이 있다.
클래스의 이름을 잘못 적거나, 존재 하지 않는 파일의 이름을 입력하는 경우이다.
언체크 예외는 RuntimeException의 하위 클래스이며, 예외 처리를 강제하지 않는다.
말 그대로 실행 중에 발생할 수 있는 예외를 의미한다
(NullPointerException, ArrayIndexOutofBoundsException 등등)
'Language > [Java]' 카테고리의 다른 글
[Java] Java 8 날짜 API (0) | 2022.04.06 |
---|---|
[Java] 예외 전파 (0) | 2022.04.06 |
[Java] Enum 추상 클래스 (0) | 2022.04.05 |
[Java] Stream (0) | 2022.04.01 |
[Java] 옵저버 패턴 (0) | 2022.03.30 |