ITEM 50 :: EFFECTIVE C#


안녕하세요, 50번째 시간입니다. 새로운 공부에 도전할 시기가 다시 찾아왔네요.


이번 챕터는 예외 필터의 다른 활용 예를 살펴보라, 입니다. 이 부분은 예외 필터를 사용할 때의 팁? 적인 부분이 주로 차지하고 있는 장입니다. 마무리 답게 가볍게 끝나는데, 어느새 Effective C#을 끝냈는지.

완벽하게 이해했다고 보기는 매우 어렵지만, 이렇게 한번 책을 훑는 것 만으로도 많은 생각을 하게 해주는 책인 것 같습니다. 언젠가 기회가 된다면 이 글을 보고 다시 복습하길!

설명

  1. 예외 필터를 작성할 때 항상 False로 반환하도록 작성하는 것은 유용한 여러 예가 존재한다.

  2. 먼저 False로 반환하므로 다음 절로 넘어가지 않기 때문에, 어떤 경우에도 예외 처리문 안으로 진입하지 않을 것이라는 걸 바탕으로 위치가 가장 앞에 위치해도 무방하며, 런타임은 계속해서 Catch 문을 실제 발생한 예외 타입에 적용할 수 있는지 확인할 것이다.

  3. 또한 이러한 방법으로 작성하면 Catch문을 덧붙이더라도 수행 성능에 영향을 미치지 않는다. 또한 try / catch 를 사용하는 곳이라면 제한 없이 이 패턴을 적용할 수 있다.

  4. 또한 이를 사용하면 제어 흐름을 수정하지 않고도 라이브러리나 패키지에 대해서 동일한 방식을 적용할 수 있다는 장점이 있다.

  5. 또한 디버거가 붙어있는지를 판단하여 예외 필터를 통과하게 할 수도 있다! 따라서 이와 같은 방식을 사용하면, 예외 처리기가 수행되지 않기 때문에 예외가 발생했다는 사실을 디버거가 즉각적으로 감지할 수 있게 된다. 또한 디버거가 붙어 있지 않은 환경에서는 응용프로그램에 어떠한 영향도 미치지 않기 때문에, 디버깅을 통해 코드가 유발하는 오류의 원인을 규명할 때 유용하다.

  6. 결론적으로 예외 필터를 잘 활용하면 예외가 발생했을 때 어떤 일이 벌어지고 있는지 자세히 살펴볼 수 있다! 따라서 예외 상황에 대해 더욱 잘 알 수 있게되고 그에 대한 대처 방법을 결정하는데에도 큰 도움을 준다. 따라서 디버깅은 훨씬 수월해진다!

결론

결론적으로 예외 필터를 잘 활용하면 예외가 발생했을 때 어떤 일이 벌어지고 있는지 자세히 살펴볼 수 있다! 따라서 예외 상황에 대해 더욱 잘 알 수 있게되고 그에 대한 대처 방법을 결정하는데에도 큰 도움을 준다. 따라서 디버깅은 훨씬 수월해진다!

그리고…

수고하셨습니다!