1。異常の源。
Delphiのアプリケーションでは、次の状況が例外を生成する可能性が高くなります。
(1)ファイル処理
(2)メモリ割り当て
(3)Windowsリソース
(4)ランタイム中にオブジェクトとフォームを作成します
(5)ハードウェアとオペレーティングシステムの競合
?
2。例外処理。
(1)試してみてください…除く…終了。
TRYボディのコードで例外が発生すると、システムは例外処理の部分を除く部分に変わります。これは、Delphiが例外を処理する最も基本的な方法の1つです。
?
(2)試してみてください…最後に…終わります。
この例外処理構造は、通常、 Windowsリソースの割り当てやその他の側面を保護するために使用されます。
try ...を除いて...終わりを除いて、構造の最終的な部分は常に実行されます。
?
(3)試みはありません...最終的に...例外を処理し、リソース割り当て構造を保護するための最終構造。最後に...例外の処理を実現し、リソースの割り当てを保護します。
?
?
3。例外の正確な処理。
(1)例外を定義します。
Delphiでは、各例外は例外[1]クラスの派生クラス[2]です。したがって、例外を定義することは、例外クラスの派生クラスを定義することです。
タイプemyexception = class(例外);
もちろん、基本クラスは例外または任意のレベルの例外にすることができます。
?
(2)プログラムに例外を投げます。
異なる状況に応じて例外を投げることは、例外を使用する最も基本的なモードです。 Delphiでは、 Raise Statementによって実装されています。
[構文]例外class.createを上げる( '例外のデフォルトの説明');
?
(3)試験でより正確に例外をキャッチします...除く...終了。
E:ExceptionクラスDO ...構造を使用して、DOボディの特定の例外クラスによってスローされた例外を処理します。
?
4。例外デバッグ。
Delphi IDEでは、「デバッガーオプション」の統合デバッグのチェックステータスをチェックします(メニューツール - >デバッガーオプション…を使用してアクセスできます)。
?
5。異常の補足的な説明。
(1)すべてのプログラムがエラーを作成する場合があります!これは、ソフトウェア業界の疑いのない現象と法律です。実際、従来の場合は...構造はすべてのエラーを完全に解決できます。
答えは明確です。例外は、より柔軟でオープンな方法を提供し、後のプログラマーが事前にセットの処理結果を使用するのではなく、実際の条件に基づいてこのエラーに対処できるようにします。実際、これが例外メカニズムの中核だと思います。
[1]例外クラスの定義は、sysutilsユニットにあります。
[2] Delphiは、例外から継承しない例外クラスもサポートしていますが、そうすることはあまり賢明ではないと思います。