Basic)12/07/2018+2この記事の内容コードを実行したまま、特定のコードブロックで発生する可能性のあるエラーの一部またはすべてを処理する方法を提供します。エラーが発生する可能性のあるステートメント。複合ステートメントにすることもできます。ブロックが許可されています。使用して、例外を処理するかどうかを判断するためにテキスト順に検証されます。任意の変数名を指定します。初期値は、スローされたエラーの値です。ステートメントは例外をキャッチします。クラスフィルターの種類を指定します。派生型のによって指定された型である場合、識別子は例外オブジェクトにバインドされます。Trueに評価された場合にのみ例外をキャッチします。例外を表す識別子を参照する場合があります。Booleanに暗黙的に変換可能である必要があります。汎用フィルターを記述する任意の式。通常、エラー番号でフィルター処理するために使用されます。キーワードと共に使用して、エラーがキャッチされる状況を指定します。ブロックで発生したエラーを処理するステートメント。複合ステートメントにすることもできます。構造体を分割するキーワード。ステートメントの直後のコードで実行が再開されます。ステートメントは引き続き実行されます。ブロックでは許可されていません。ステートメントの任意の部分を離れると常に実行されます。他のすべてのエラー処理が発生した後に実行されるステートメントです。ブロックを使用してコントロールを保持し、発生した場合は例外を処理します。ステートメントを検索します。現在のメソッドを呼び出したメソッド、および呼び出し履歴を調べます。ハンドルされない例外メッセージをユーザーに表示し、プログラムの実行を停止します。ステートメントを使用できます。句の順序は順番に検査されるため、重要になります。例外は、特殊性の高い順にキャッチしてください。クラスから派生したすべての例外をキャッチします。ブロックとして使用する必要があります。ブロックにはできません。Exceptionです。ステートメントをまず調べます。ステートメントに進みます。ブロックでは使用できません。構造体の外で変数を宣言します。コードスニペットとして使用できます。Snippets」を参照してください。ブロックを使用します。ブロックに渡されます。構造内のどこかで例外が発生した場合でも当てはまります。ブロックは、例外が発生した場合でも実行する必要があるコードを実行する場合に便利です。ブロックに渡されます。ステートメントを検出した場合でも実行されます。ブロックに渡されません。ステートメントが見つかりました。block.StackOverflowExceptionでスローされたが、TryまたはCatchブロックします。ブロックに転送することは無効です。ブロックの実行を転送することはできません。ブロックが含まれている必要があります。ブロックのように動作し、リソースの破棄を保証します。これは、ハンドルされない例外が発生した場合でも同様です。ステートメント」を参照してください。クラスから派生したクラスです。ブロックで発生したエラーに対応します。オブジェクトのプロパティは、例外の原因と場所を特定するのに役立ちます。プロパティには、例外の原因となったメソッドが一覧表示され、コード内でエラーが発生した場所を見つけるのに役立ちます。例外を説明するメッセージを返します。関連付けられているヘルプファイルへのリンクを返します。ステートメントのみを使用して、異常なプログラムイベントまたは予期しないプログラムイベントの発生を通知します。これには、次のような理由があります。following:実行時に例外をキャッチするとオーバーヘッドが増加するため、例外を回避するための事前チェックよりも低速になる可能性があります。ブロックが正しく処理されない場合、例外はユーザーに正しく報告されない可能性があります。users.例外処理を使用すると、プログラムがより複雑になります。ステートメントは必要ありません。次の例では、ファイルが存在するかどうかを確認してから開こうとします。メソッドによってスローされた例外をキャッチする必要がなくなります。ブロック内のコードがユーザーに例外を正しく報告できることを確認します。それ以外の場合、例外は不明なままになる可能性があります。methods非同期修飾子を使用してメソッドをマークした場合は、メソッドでAwait演算子を使用できます。演算子を持つステートメントは、待機中のタスクが完了するまでメソッドの実行を中断します。このタスクは、進行中の作業を表します。オペレーターに関連付けられているタスクが完了すると、同じ方法で実行が再開されます。詳細については、「非同期プログラムの制御フロー」を参照してください。状態で終了することがあります。タスクは取り消された状態で終了することもあります。ブロックで例外をキャッチします。例については、このトピックの後半で説明します。状態になることがあります。呼び出しの結果になることがあります。このようなタスクを待機すると、キャッチされた例外は例外の1つにすぎないため、どの例外がキャッチされるかを予測することはできません。例については、このトピックの後半で説明します。ブロック内には指定できません。イテレーションを実行します。ステートメントを使用して反復子メソッドを呼び出します。Statement.YieldはTryブロック内に置くことができます。Yieldステートメントを含むTryブロックは、Catchブロックを持つことができ、そして、Finallyブロックを持つことができます。例については、反復子のTryブロックを参照してください。example.Yieldステートメントは、CatchブロックまたはFinallyブロック内で使用できません。(反復子メソッドの外側)が例外をスローした場合、反復子メソッド内のCatchブロックは実行されませんが、反復子メソッド内のFinallyブロックは実行されます。反復子メソッド内のCatchブロックは、反復子メソッド内で発生する例外のみをキャッチします。呼び出しを含むメソッドが呼び出される前に発生したセキュリティ例外をキャッチしません。いうエラーが生成されます。クラスを参照してください。Subに配置する必要があります。最初の呼び出しは失敗します。Try...Catch...Finally次の例はTry...Catch...Finallyステートメントの構造を示しています。NullReferenceExceptionがスローされます。ブロックに含まれていません。メソッドは例外を処理しません。ブロック内にあるため、例外を処理します。ステートメントが含まれており、最も一般的なものから順に説明されています。ステートメントを使用して条件式をフィルター処理する方法を示します。ブロック内のコードが実行されます。ステートメントを使用します。プロパティが元の例外に設定されている例外をスローします。ブロックは、独自の例外と内部例外を報告します。methods次の例では、非同期メソッドの例外処理を示します。ブロックでキャッチされます。行のコメントを解除します。プロパティは例外に設定されます。行のコメントを解除して、非同期処理を取り消したときに何が起こるかを示します。Trueに設定されます。Falseに設定されます。methods次の例では、複数のタスクで複数の例外が発生する可能性がある例外処理について説明します。適用される3つのタスクが完了すると、タスクが完了します。つのタスクでそれぞれ例外が発生します。プロパティで検出された例外を反復処理します。Statementお勧めのコンテンツこのページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。直接フィードバックを残すこともできます。直接フィードバックを残すこともできます。Cookie利用条件サイトのフィードバック商標このページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。Cookie利用条件サイトのフィードバック。