通知
すべてクリア
Topic starter
2004年12月15日 1:49 AM
こんにちは。
例外をスローしようとしてランタイムエラーが
起きてしまいます。原因がわからないので、
同じような経験のある方、
原因を知っている
【現象】
try~catchで囲まれたスコープでオブジェクトAを生成する。
次にこのスコープ内で例外をスローする。
すると、オブジェクトAのデストラクタが呼ばれる。
デストラクタで例外をスローしようとすると、
ランタイムエラーが出ます。
A.dllの中からB.dllをコールして、
B.dllの中に上記のtry~catchの処理があり、
この中でスローする例外の型は、このB.dll内の
catchでは、捕捉できない型になっており、
A.dll内のcatchで捕捉できるようになっています。
上記の現象のように例外を2度スローしなければ、
何も問題なく例外を捕捉できます。
Topic starter
2004年12月15日 1:51 AM
ちなみに開発環境は、
VC++6.0
Windows2000
です。
2004年12月15日 8:08 AM
デストラクタ中で例外を投げることは絶対のタブー事項です。
C++ の基礎です。書籍を読むなりWEB検索するなりして理解してください。
どう対処すればよいかはあなたのプログラム次第でしょう。
Topic starter
2004年12月16日 12:31 AM
回答、ありがとうございました。
こんな基礎知識も知らなかったなんて、
一から勉強し直しですね。
ありがとうございました。