레거시 C++ 예외 안전 프로그래밍

#1. [레거시 C++ 가이드] 예외 안전 코드

3 분 소요

예외 안전(safe) 코드는 예외가 발생하지 않는 코드가 아니라, 예외가 발생해도 안전하게 복원되고 계속 동작해도 무방하게 예외 보증하는 코드다. 예외 상황을 사전에 예측하고 프로그래밍 하라. 모든 함수는 실패할 수 있다고 가정하고 프로그래밍 해라. ...

#3. [레거시 C++ 가이드] 표준 예외 개체

최대 1 분 소요

모던 C++ (C++11~) 동적 예외 사양은 deprecate 되었습니다. 예외를 나열하는 것보다 noexcept로 예외를 방출하느냐 안하느냐만 관심을 둡니다. (C++17~) 동적 예외 사양 관련해서 throw()가 deprecate 되었습니다. 이제 ...

#5. [레거시 C++ 가이드] 예외 보증

7 분 소요

예외에 안전하도록 기본 보증과 강한 보증을 하라. 기본 보증이 되도록 스마트 포인터나 Holder를 사용하라. 강한 보증이 되도록 클래스를 설계하라.(예외 안전에 좋은 클래스 설계 참고) 모듈의 경계에서 예외가 방출되지 않도록 예외를 catch(...