08. 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 예외와 소멸자 이것만은 잊지 말자 ! 예외와 소멸자 위 코드는 vertor 타입의 객체 v를 생성한다. 객체 v 혹은 v2, v2 ... 등 vertor 타입의 객체 소멸에 대한 책임은 벡터에게 있다. 하지만 만약 vector 타입 객체, 여기서는 Widget의 소멸자가 호출되는 과정에서 예외가 발생된다면 어떻게 될까 ? 프로그램은 미정의 동작을 발생하고 그 원인은 바로 예외를 방치하는 소멸자에게 원인이 있다. C++은 예외를 내보내는 소멸자를 좋아하지 않는다. 더 구체적인 예시를 위해 아래의 코드를 보자. 위 코드는 DBConnection 객체에 대해 close를 사용자가 직접 호출해야하는 설계이다. 사용자의 망각을 차단하기 위해 해당 객체에 자원 관..