例外戦略を使用して C# で例外を処理する方法には、特定のコード例が必要です。
C# 開発では、例外処理は非常に重要なタスクです。合理的な例外処理により、プログラムの堅牢性と保守性が向上し、バグの追跡と修正が容易になります。この記事では、例外戦略を使用して C# で例外を処理する方法と、具体的なコード例を紹介します。
try { // 可能会抛出异常的代码块 int a = 10; int b = 0; int result = a / b; } catch (Exception ex) { // 异常处理逻辑 Console.WriteLine("发生异常:" + ex.Message); }
上記のコードでは、try ブロックで除算演算を実行します。除数が 0 の場合、DivideByZeroException がスローされます。例外をキャッチすることで、例外情報を出力するなど、catch ブロックで例外を処理できます。
try { // 可能会抛出异常的代码块 int[] numbers = { 1, 2, 3 }; Console.WriteLine(numbers[4]); } catch (IndexOutOfRangeException ex) { // 处理数组越界异常 Console.WriteLine("数组越界异常:" + ex.Message); } catch (Exception ex) { // 处理其他类型的异常 Console.WriteLine("发生异常:" + ex.Message); }
上記のコードでは、配列内に存在しないインデックスにアクセスしようとすると、IndexOutOfRangeException 例外がスローされます。複数の catch ブロックを使用すると、特定の例外タイプに基づいてさまざまな応答を行うことができます。
try { // 可能会抛出异常的代码块 FileStream fs = new FileStream("sample.txt", FileMode.Open); // 其他操作… } catch (FileNotFoundException ex) { // 处理文件不存在异常 Console.WriteLine("文件不存在异常:" + ex.Message); } catch (Exception ex) { // 处理其他类型的异常 Console.WriteLine("发生异常:" + ex.Message); } finally { // 关闭文件 if (fs != null) { fs.Close(); } }
上の例では、存在しないファイルを開こうとしていますが、これにより FileNotFoundException 例外がスローされます。例外が発生した場合でも、finally ブロックでファイル ストリームを閉じるコードを実行することで、プログラムが終了する前にファイル ストリームを確実に閉じることができます。
public class InvalidInputException : Exception { public InvalidInputException(string message) : base(message) { // 自定义异常类的构造函数 } } public class Calculator { public int Divide(int a, int b) { if (b == 0) { throw new InvalidInputException("除数不能为0。"); } return a / b; } } try { Calculator calculator = new Calculator(); int result = calculator.Divide(10, 0); } catch (InvalidInputException ex) { Console.WriteLine("输入无效:" + ex.Message) }
上の例では、Divide メソッドを使用して除算演算を実行する Calculator クラスを定義します。渡された除数が 0 の場合、カスタム InvalidInputException がスローされます。例外クラスをカスタマイズすることで、特定の種類の例外をより適切に処理し、呼び出し元に明確なエラー情報を提供できるようになります。
要約すると、C# は豊富な例外処理メカニズムを提供しており、例外戦略を合理的に使用することで、例外をより適切に処理および管理できます。これにより、プログラムの堅牢性と保守性が向上し、潜在的な問題を解決するための強力なツールも提供されます。
以上が例外戦略を使用して C# で例外を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。