お世話になっております。 A.中村です。

On Fri, 16 Jul 1999 20:53:58 +0900
"NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> wrote:

> Windowsの開発環境の一つであるVC++では,
> まず実行前に,例外の種類毎に
> 「例外が発生したらrescureのある無しに関わらず停止する」
> 「unhandledな例外があったら停止する」
> を選べます.
> 
> # ただしここで言う「例外の種類」とは,例の(?)構造化例外のことであり,
> # つまりC++のException,Ctrl-C,Access Violation,etc.の種別になります.
> # 「MyRuntimeErrorインスタンスが上がってきたら」とかではありません.

> んでもって例外によって停止した後に実行を再開することができますが,

ではdelphiの話もしていいんでしょうか(笑)
#札幌に帰還して仕事がまたdelphiベースになってしまった(^^;

delphiだと選べるのは「例外オブジェクトがcreateされたら
統合環境の画面を呼び出すか?」のスイッチっす。

呼び出すことにしてあれば、統合環境上でソースの該当行がポイントされ
例外オブジェクトの…ええとなんだっけな…たしかShowMessageメソッド
とかいったと思ったが…つまり例外オブジェクト「が」状況報告をします。
つまり、例外を通知するダイアログが生成表示されます。

停止した後の再開は、その例外オブジェクトがどういう
運命をたどる(笑)ようにコーディングされているか?に従います。
except節やfinally節で捕捉されていればそこに処理が飛びますし、
無ければ「上位」の処理に飛びますし、なにもなければデバッグ対象の
実行単位が終了する(それも例外オブジェクトのデフォルトの挙動の一つ)
ようです。

デバッガと関係なく実行すると、例外を誰も捕捉しなかった場合
または故意にそうした場合、以外は例外報告ダイアログは出ません。
デバッガが呼ばれるように設定されていると、とりあえず一度
常にダイアログが表示されます。

> PCを設定して実行するだけなので(たぶん),
> そりゃもういちかばちかです.例えばAccess Violationを無視して再開したら,
> そのうちまたすぐにクラッシュします.^^;

delphiだとあんまりこうはならないかな。
AccessViolation例外オブジェクトの立腹を無視するような
「コードを書いた」時だけ実行が存続できることになるんで
その後落ちる確率は、普通に実行した挙句落ちる確率と、同じ…
って、これじゃ問題の解決になってないですが(笑)、不思議と(笑)、
イヤな気分にならないみたいです。