class Widget {
public:
...
~Widget() { ... } // 이 소멸자는 예외를 던질 가능성이 있음
};
void doSomething()
{
std::vector<Widget> v;
...
} // v가 여기서 자동으로 소멸됨
Widget 소멸자에서도 예외가 발생하면, 두 개의 예외가 동시에 활성화됨.std::terminate() 호출)되거나 정의되지 않은 동작(undefined behavior)을 유함.std::vector뿐 아니라 다른 STL의 컨테이너 등에서도 동일하게 발생할 수 있음.💫Things to Remember
catch 해야 한다.close() 같은 메서드를 제공해야 한다.