- 締切済み
C++の例外処理
お世話になります。 現在C++でプログラミングを行っていますが、例外処理で困っています。 次のようなコードを書きました。 try{ m_Session.DestroyDatabasePool(); }catch(CException e){ m_Share.WriteLogFile("キャッチ中", LOG_INFO ); } しかし、これだとcatchが行われず、catch(CException e)部分を(...)にすると例外処理が実行されます。 例外の詳細を知りたいので、どうしても(CException e)で行いたいです。 説明が不十分かもしれませんが、何かご存知でしたら、ご教授お願いします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- ryou0607
- ベストアンサー率27% (71/261)
回答No.7
- txrx
- ベストアンサー率45% (83/184)
回答No.6
- namachu
- ベストアンサー率44% (8/18)
回答No.5
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.4
- namachu
- ベストアンサー率44% (8/18)
回答No.3
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.1
補足
色々と勉強不足でした。すみません。 環境としては、言語C++、データベースはOracle9iでOracle Objects for OLE9.2.0.4.8を使用しています。 C++でファイル名.exeという実行ファイルを作成し、サービスとして起動しています。このサービスを停止するときに、 「ファイル名.exe -アプリケーションエラー- "0x01d87008"の命令が"0x000000d9"のメモリを参照しました。メモリが"written"になることはできませんでした。」 というエラーが起こりました。このエラーが起こる場所をログをメモ帳に出力することで調べました。その結果、DestroyDatabasePool() 部分で問題が発生していました。Oracle8iでは、問題なく停止できていたので、Oracleかoo4oのバージョンの問題でしょうか?