핵심 요약
Microsoft Developer가 C++에서 스코프 종료 시 실행되는 코드를 구현하는 패턴과 wil::scope_exit 도구의 사용법을 소개했습니다.
주요 특징
- RAII 기반의 스코프 종료 처리
- 람다를 wil::scope_exit에 전달해 소멸자에서 실행
- 예외 흐름 차이 및 안전성 주의
- 예외를 로그하고 무시하는 대안인 wil::scope_exit_log 제공
적용 고려사항
- 파괴자에서 예외가 발생하면 현재 예외와 결합될 때 terminate가 발생할 수 있어 람다에서 예외를 피해야 합니다
- C++에는 Java처럼 예외를 덮어쓰는 동작이 없으므로 그 점을 감안해야 합니다
- 필요 시 예외를 로그로 남기는 scope_exit_log 활용 가능

