토비의 스프링 (8)

예외 처리

- 자바 개발자가 가장 신경 쓰기 귀찮아하는 것

정상적인 결과와 흐름을 보여주는 것도 힘든데

예외상황까지 처리해야 한다.


그래서 예외와 관련된 코드는 자주 엉망이 되거나

무성의하게 만들어지기 쉽다.


아래는 자바 기초를 배울때 만들어내는 JDBC 코드에서

흔히 볼 수 있다.


예외를 잡고 아무것도 하지 않는다.

예외 발생을 무시해버리고 정상적인

상황인 것처럼 다음 라인으로 넘어가겠다는

의도가 있는게 아니라면 절대 만들어서는

안되는 코드이다.


예외가 발생하면 catch로 잡아내는 것까지는 좋은데

아무것도 하지않고 넘어가는것은 정말 위험한 일이다.

왜냐하면 프로그램 실행 중에 어디선가

오류가 있어서 예외가 발생했는데 그것을 무시하고 계속

진행해버리기 때문이다.


최종적으로 오작동을 하거나 시스템 오류가 나서 운영자가

알아차렸을 때는 이미 늦었다.


아래의 두 방법도 마찬가지이다.



예외가 발생하면 화면에 출력해주는데

뭐가 문제일까? 개발 중에는 IDE 콘솔이나

서버 실행창에 이 메시지가 눈에 확 띄게 보이니

문제가 생겨도 금방 알아차리고 조취를 취할수 있다.


운영서버에 올라가면 콘솔 로그를 누군가가 계속 모니터링

하지 않는 한 이 예외느 코드는 폭탄으로 남아있다.


예외는 처리돼야한다.


예외를 처리할때는 반드시 지켜야 할 핵심 원칙은 한 가지다.

모든 예외는 적절하게 복구되든지 아니면 작업을 중단시키고

운영자 또는 개발자에게 분명하게 통보돼야 한다.


SQLException이 발생하는 이유는 SQL에 문법 오류가 있거나

DB에서 처리할 수 없을 정도로 데이터 액세스 로직에 심각한

버그가 있거나 서버가 죽거나 네트워크가 끊기는 등의

심각한 상황이 벌어졌기 때문이다

때문에 SQLException은 반드시 처리 되어야 하며

위처럼 메시지만 출력하는 것보단

아래와 같은 방법이 100배는 좋을 것이다.


물론 실전에서 저렇게 하라는것은 아니다.

예외를 무시하고 넘어가지 말라는 뜻이다.



'SPRING' 카테고리의 다른 글

토비의 스프링 Vol.1 후기..  (0) 2019.05.11
토비의 스프링 (7)  (0) 2019.01.21
토비의 스프링 (6)  (0) 2019.01.08
토비의 스프링 (5)  (0) 2019.01.02
토비의 스프링 (4)  (0) 2019.01.02

댓글

Designed by JB FACTORY