자바 Exception 준비!

Seculoper·2021년 8월 15일
0

0. 필요한 이유?

자바 뿐만 아니라 어떤 언어든 간에 Exception, 즉 예외 처리는 매우 중요하다.
프로그램은 흘러감에 따라, 사용자의 선택이나 알 수 없는 클라이언트/서버의 오류에 의해서 예외(Exception)를 던진다.

예외를 던지면 그 즉시 프로그램이 중단되는데, 이를 처리하지 않고 그냥 놔두면 사용자 입장에서는 매우 당황하게 된다.
알 수 없는 영문 페이지가 뜨면서 갑자기 먹통이 된다면 누구라도 당황할 것이다.


이뿐만 아니라 보안적으로도 매우 위험하다.

기본적으로 예외가 던져지면 자바는 e.prinfStacTrace();를 실행시킨다.
이는 실행 환경(OS 버전정보 등)이나 프로그램 흐름을 그대로 출력시켜 버리기에, 이를 악용하여 보안이 위험해질 수도 있다.
만약 SQL 관련 Exception이 던져지면 쿼리문이 그대로 노출되므로, 이를 조작하여 공격이 진행될 수도 있다.

해킹은 정보력의 싸움이다.
이런 정보가 많이 노출되는 건, 당연히 그만큼 보안에 취약하다는 것이다.


따라서 대부분의 사이트에 들어가보면 다음과 같이 에러 처리를 따로 해놓는 것을 볼 수 있다.


1. 결론

위와 같이 예외를 처리하기 위해선, 예외의 구조에 대해 정확히 파악해야 한다.

프로그램이 이런식으로 흘러가면 어떤 예외를 던지는게 맞는지,
예외를 던진다면 그것을 받아 어떻게 처리할 건지 등을 파악하기 위해선
먼저 예외엔 뭐가 있고, 어떤 구조로 되있는지를 먼저 알아야 한다.

다음 편에선 자바의 Exception 구조는 어떻게 되어있는지 자세히 살펴보자.

profile
보안이 취미인 개발자(수학자)입니다.

0개의 댓글