質問

D2009でプロジェクト(D2007 / 08で作成)を開き、コンパイルしましたが、実行すると大量の例外がスローされました。奇妙なことですが、私はプロジェクトが混乱していることを知っているので、先に進んで修正したいと思います。本当にすべてを修正するのではなく、機能させるだけで十分です。

実行すると、デバッガー例外通知(ブレーク、続行、ヘルプボタンのある小さなメッセージダイアログ)が表示され、例外をスキップしたときに動作するかどうかを確認したいと思いました。私は小さな「この例外タイプを無視する」をチェックしました;左下隅のチェックボックスをオンにして、[続行]をクリックしました。これで、例外通知を受信しなくなりましたが、アプリケーションはまだ実行されません。あいまいなエラーボックスがいくつか表示されるだけで、何が起こっているのかほとんどわかりません。

以前に無視するように選択した例外タイプを再度有効にします。しかし、私はどこにも選択肢を見つけることができません。これはどこで探すべきですか?誰でも助けることができますか?

役に立ちましたか?

解決

以下は Rob KennedyによるDelphi Q& Aのこのページから抽出されたものです。 :(CCライセンス)Delphi 2005に関連していますが、役立つ場合があります。

例外ハンドラを作成した後でもエラーメッセージが表示されるのはなぜですか?

デフォルト設定では、Delphi IDEは、図1に示すように、プログラムで例外が発生するたびに通知します。認識すべき重要なことは、その時点では、プログラムの例外はありません。処理コードはまだ実行されています。すべてDelphi自体です。デバッガーとしての特別なステータスにより、プログラムが例外を認識する前であっても、プログラムの例外を最初に通知することができます。

ここに画像の説明を入力してください

通知の回避

例外が発生したときに通知を受け取りたくない場合は、いくつかのオプションがあります。

  • Delphiの“の高度なブレークポイントを使用できます”コードの領域周辺の例外処理を無効にします。まず、IDEで例外を無視するコード行にブレークポイントを設定します。ガターのブレークポイントドットを右クリックし、ブレークポイントプロパティダイアログを開きます。詳細セクションには、いくつかのチェックボックスがあります。 (図2を参照)“ Break”をクリアします。デバッガーがその行でプログラムに割り込むのを防ぎ、“以降の例外を無視する”を設定しますボックス。

    その後、デバッガーに例外の処理を再開させる別のブレークポイントを設定します。プロパティを変更して、後続の例外を処理します。

ここに画像の説明を入力してください

  • 特定の種類の例外を無視するようデバッガーに指示できます。図3は、Delphiの言語例外オプションを示しています。例外クラスをリストに追加すると、その型およびすべての子孫型のすべての例外が、Delphiに干渉することなくプログラムに渡されます。

ここに画像の説明を入力してください

  • 前のオプションに関連するオプションでは、例外が発生しても中断しないようデバッガーに指示できます。そのためには、“言語の例外を通知する”をクリアしますチェックボックス。

  • 最後に、統合デバッグを完全にオフにすることができます。 Delphiは例外を通知せず、ブレークポイントで停止したり、“ Pause”の使用を許可したりしません。ボタン。 Delphi 2005の図5に示すように、デバッガオプションで統合デバッグをオフにします。

ここに画像の説明を入力してください

他のヒント

無視された例外タイプが

に見つかりました

(メインメニュー)ツール>>オプション>>デバッガーオプション>> CodeGearデバッガー>>言語の例外>> および無視される例外タイプのリストがあります。

D2005よりも多少隠されていますが、Stuart Dunkeldが参照した記事で述べられた内容に非常に近いものです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top