개발서적
토프링 - 4장 정리
wugawuga
2022. 10. 2. 20:38
4장 정리
✔️ 초난감 예외처리는??
- catch 로 잡아내는 것까지 좋은데 그 후에 아무것도 하지 않는 문제
- 메세지를 찍어도 금방 묻혀버림
✔️ 예외의 종류와 특징?
- Error
- java.lang.Error 클래스의 서브클래스들
- 에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생
- 주로 VM 에서 발생 (OutOfMemoryError, ThreadDeath)
- 따라서 시스템 레벨에서 특별한 작업을 하는 것이 아니면 에러처리는 신경 안 써도 됨
- Exception 과 체크예외
- java.lang.Exception 클래스와 서브클래스로 정의되는 예외들
- 개발자들이 만든 코드의 작업 중에 예외상황이 발생했을 경우에 사용
- 체크예외와 언체크 예외로 구분
- 체크 예외: Exception 서브 클래스면서 RuntimeException 상속 X
- 언체크 예외: RuntimeException 상속
- 체크 예외가 발생할 수 있는 메소드를 사용할 경우 반드시 예외 처리하는 코드 함께 작성
✔️ 재시도를 통해 예외 복구하는 코드??
- 예외가 발생하면 일정시간동안 기다리고 재시도
- 최대 횟수를 넘기면 예외를 발생
✔️ JDO???
- java data objects
- 처음보았는데 jpa vs jdo 라는 연관 검색어가 많이 뜨는데 설명이 어려워서 패스,,,
✔️ 인상 깊었던 점
DataAccessException 으로 전환해서 스프링 예외로 바꿔주는 것
spring 이 추상화를 통해서 만들어 놓으니 개발자들은 데이터베이스에 종속되지 않고 개발을 할 수 있다는 것이 인상깊다
❓ 예외처리 방법이 궁금합니다
- 발생하는 예외마다 커스텀해서 작성을 하는지
- 하나의 예외로 모두 모아서 에러코드와 메세지를 분리해서 작성을 하는지?
✅ 답변
토비님 : 커스텀 예외를 만드는 경우가 많다! 자바 표준 예외의 의미가 통한다면 그대로 쓰고,
그렇지 않을 때 커스텀을 만드는 게 좋다고들 한다. 후자의 경우도 있다.
파코님 : 커스텀 예외를 만들다보면 나중에 너무 많아져서 나중에 관리하기가 힘들어진다.
나중에 공통 예외 같은 파일로 관리하곤 하는데, 몇 달 지나면 건들기가 무섭도록 늘어나 있다.