77. 예외를 무시하지 말라
2025. 2. 27. 20:47
예외를 무시하기는 아주 쉬운데, 그러다가 끔찍한 참사로 이어질 수 있다. 마치 화재경보를 무시하는 수준을 넘어 아예 끄는 것과 같다. catch 블록을 비워두면 예외가 존재할 이유가 없어진다. 물론 예외를 무시해야 할 때도 있다. FileInputStream 을 닫을 때 처럼 읽기 전용일때, 파일의 상태를 변경할 일이 전혀 없으니 복구할 것이 없으며, 남은 작업을 중단할 이유도 없다. 하지만 혹시나 같은 예외가 여러 번 발생한다면 조사해보는 것이 좋을테니 로그로 남기는 것이 좋다.
예외를 무시하기로 했다면 catch 블록 안에 그렇게 결정한 이유를 주석으로 남기고 예외 변수의 이름도 ignored로 바꿔놓자.
빈 catch 블록으로 예외를 못 본 척 지나치면 어느 새 프로그램은 아무 상관 없는 곳에서 죽어버릴 수 있다. 최소한 바깥으로 전파되게라도 하자. 디버깅이 가능하고 예외 발견 시 프로그램이 신속히 중단되게 할 수 있으니.