例外を2度スローするとランタイムエラー – プログラミング – Home

例外を2度スローするとランタイムエラー
 
通知
すべてクリア

[解決済] 例外を2度スローするとランタイムエラー


roccy
 roccy
(@roccy)
ゲスト
結合: 23年前
投稿: 82
Topic starter  

こんにちは。
例外をスローしようとしてランタイムエラーが
起きてしまいます。原因がわからないので、
同じような経験のある方、
原因を知っている

【現象】
try~catchで囲まれたスコープでオブジェクトAを生成する。
次にこのスコープ内で例外をスローする。
すると、オブジェクトAのデストラクタが呼ばれる。
デストラクタで例外をスローしようとすると、
ランタイムエラーが出ます。

A.dllの中からB.dllをコールして、
B.dllの中に上記のtry~catchの処理があり、
この中でスローする例外の型は、このB.dll内の
catchでは、捕捉できない型になっており、
A.dll内のcatchで捕捉できるようになっています。
上記の現象のように例外を2度スローしなければ、
何も問題なく例外を捕捉できます。


引用未解決
トピックタグ
roccy
 roccy
(@roccy)
ゲスト
結合: 23年前
投稿: 82
Topic starter  

ちなみに開発環境は、
VC++6.0
Windows2000
です。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

デストラクタ中で例外を投げることは絶対のタブー事項です。
C++ の基礎です。書籍を読むなりWEB検索するなりして理解してください。
どう対処すればよいかはあなたのプログラム次第でしょう。


返信引用
roccy
 roccy
(@roccy)
ゲスト
結合: 23年前
投稿: 82
Topic starter  

回答、ありがとうございました。
こんな基礎知識も知らなかったなんて、
一から勉強し直しですね。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました