[우테코] 예외 테스트 코드가 실행되지 않음 - 예외 처리 문제

gnoesnooj·2022년 11월 17일
0

배경

우테코 3주차 미션을 진행하던 중, 테스트 코드 하나가 돌아가지를 않았다.

예외 테스트가 돌아가지를 않았다.

해결 시도

runException 메소드를 타고 들어가도 딱히 내 눈에 들어오는 정보가 없었다.

문제를 찾기 위해서 이곳 저곳 print 문을 박아 댔던 것 같다.

print 문을 이곳 저곳 넣던 중, runException("1000j") 다음으로는 코드가 돌아가지를 않았다.

이 코드에서만 오류가 발생하고, 그대로 테스트코드 프로그램이 종료되고 있다는 것을 알게 되었다.

내가 원래 예외를 처리해준 방식이다.

이와 같이 난 예외 상황에 맞게 커스터마이징한 exception을 따로 throw 해줘서 처리하도록 해주고 있었다.

하지만 이 방법이 문제가 있다는 사실을 알게 되었다.

try catch를 이용해서 발생할 수 있는 문제를 catch 해준다. 이후 catch 문에서 원하는 방식으로 처리를 해주는게 예외처리 이다.

하지만 나의 방식은 예외를 catch 했는데, 그에 대한 처리를 또다시 다른 예외를 throw 해주도록 처리해주는 방식이었다.

즉, 새로 throw 된 예외에 대해서는 어떠한 처리도 되지 않고 있다는 뜻이였다.

해결

main 문이 있는 곳으로 가서 그곳을 try catch 로 묶어주어 처리하도록 하니, 말끔히 해결되었다 !

원래 프로젝트에서 사용할 때에는 왜 문제가 없었을까 생각해보니, ExcpetionHandler 를 통해서 처리해줬기에 문제가 없었다. 나는 ExceptionHandler를 생각하지 않고 그냥 예외만 throw 해주고 있었던 것이다..

원인을 알고 문제가 해결되니 좋긴 했는데, 조금만 더 생각했더라면 발생하지 않았을 문제였을텐데와 같은 약간의 자괴감이 밀려왔다..

profile
누구나 믿을 수 있는 개발자가 되자 !

0개의 댓글