태그: throw
3편
-
C++ 예외 처리: try/catch/throw, 예외 안전성, 언제 예외를 쓰나
예외를 던질지 에러 코드를 반환할지 결정하는 기준부터, 예외를 참조로 잡아야 하는 이유, 소멸자에서 던지면 안 되는 이유, RAII로 예외 안전성을 지키는 법, 스택 풀기와 noexcept의 실제 효과까지 C++ 예외 처리를 코드로 짚습니다.
-
C++ throw()가 폐기되고 noexcept로 바뀐 이유: vector 재할당에서 이동 대신 복사가 일어나는 경우
C++03의 throw() 명세가 왜 폐기됐고 noexcept가 무엇이 다른지 짚은 뒤, 이동 생성자에 noexcept가 없으면 vector 재할당 때 이동 대신 복사가 일어나는 이유와 swap, 소멸자, 조건부 noexcept를 쓰는 방법을 예제로 설명합니다.
-
C++ 예외 처리, try-catch와 Error Code 중 뭐가 빠를까
함수 호출이 깊어질수록 에러 코드를 계속 전달하기 어려워지는 문제에서 출발해 throw와 try-catch 문법, catch 순서, 표준 예외 계층, RAII로 누수를 막는 법, 예외를 써야 할 때와 피할 때, 재던지기에서 throw;를 써야 하는 이유를 설명합니다.