ホームページ >バックエンド開発 >C#.Net チュートリアル >C# で例外フィルターと例外処理を使用する方法
C# で例外フィルターと例外処理を使用する方法には、特定のコード例が必要です。
例外とは、プログラムの実行中に発生するエラーまたは予期しない状況です。 C# では、例外はスローとキャッチによって処理されます。例外処理は、プログラムの正常な動作を保証するための重要な部分です。
C# では、例外フィルターと例外処理は、例外を処理する 2 つの一般的な方法です。例外フィルターを使用すると、例外をキャッチする前にフィルターをかけて処理できます。 when キーワードを使用して、例外フィルターの条件を指定します。以下に例を示します。
try { // 可能抛出异常的代码块 int a = 10; int b = 0; int result = a / b; } catch (Exception ex) when (ex is DivideByZeroException) { // 异常过滤器,仅处理除零异常 Console.WriteLine("除零异常:" + ex.Message); } catch (Exception ex) { // 其他类型的异常 Console.WriteLine("其他异常:" + ex.Message); }
上記の例では、例外フィルターを使用してゼロ除算例外をキャッチして処理します。スローされた例外のタイプが DivideByZeroException の場合、最初の catch ブロック内のコードが実行されます。他のタイプの例外の場合は、2 番目の catch ブロック内のコードが実行されます。
例外フィルターは、true または false を返すブール式である必要があることに注意してください。 true が返された場合、例外がフィルター条件を満たしており、キャッチされて処理されることを意味します。 false が返された場合、例外は上位の呼び出しスタックにスローされ続けます。
もう 1 つの一般的な例外処理方法は、finally ブロックを使用することです。例外が発生したかどうかに関係なく、finally ブロック内のコードが実行されます。以下に例を示します。
FileStream file = null; try { file = new FileStream("file.txt", FileMode.Open); // 文件操作 } catch (FileNotFoundException ex) { Console.WriteLine("文件未找到:" + ex.Message); } finally { // 无论是否出现异常,都会关闭文件流 file?.Close(); }
上の例では、try ブロックでファイル ストリームを開いてから、ファイル操作を実行しました。 FileNotFoundException が発生すると、catch ブロック内のコードが実行されます。例外が発生しない場合、finally ブロック内のコードが実行されてファイル ストリームが閉じられます。
例外処理を使用すると、プログラムでエラーが発生したときに適切に処理し、回復することができます。例外フィルターと例外処理は、C# で例外を処理するためによく使用される 2 つの方法です。これらのテクニックを使用して、プログラムの堅牢性と安定性を向上させます。
上記のコード例が、C# での例外フィルターと例外処理の使用方法を理解するのに役立つことを願っています。実際のコーディング プロセスでは、特定のニーズや状況に応じて、適切な例外処理方法を選択して例外を処理できます。
以上がC# で例外フィルターと例外処理を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。