C++ 例外について
Posted: 2014年2月11日(火) 13:57
http://ja.wikipedia.org/wiki/%E3%83%87% ... F%E3%82%BF
wikipedia デストラクタのページに、"自動変数のデストラクタは、例外でスコープを脱出した際にも呼び出される"。
とあるのですが、自分で試してみたところ、デストラクタが呼び出されていません。
書いたコードは下のコードです。
throw1が呼び出された後、Classのデストラクタが呼び出され、test.txtにClassと書き込まれることを期待していたのですが、何もおこりませんでした。
例外でスコープを脱出したときにデストラクタが呼び出されるようにするにはどうしたらいいですか。よろしくお願いします。
wikipedia デストラクタのページに、"自動変数のデストラクタは、例外でスコープを脱出した際にも呼び出される"。
とあるのですが、自分で試してみたところ、デストラクタが呼び出されていません。
書いたコードは下のコードです。
class Class
{
public:
~Class(){
std::ofstream ofs("test.txt", std::ios::out);
ofs << "Class" << std::endl;
}
};
int main()
{
Class c;
throw 1;
return 0;
}
例外でスコープを脱出したときにデストラクタが呼び出されるようにするにはどうしたらいいですか。よろしくお願いします。