C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の組み込み例外と例外処理の基本をわかりやすく解説


例外(Exception)とは、プログラムの実行中に発生する問題やエラーのことです。C#では、以下の4つのキーワードを使って例外を適切に処理することができます。

try

tryブロックは、特定の例外が発生する可能性のあるコードの範囲を示します。このブロック内で例外が発生すると、対応するcatchブロックへ制御が移ります。

catch

catchキーワードは、発生した例外を受け取って処理するためのものです。catchブロックでは、例外の種類に応じた対処を行うことができます。

finally

finallyブロック内の処理は、例外がスローされたかどうかにかかわらず、必ず実行されます。リソースの解放など、確実に実行したい後処理を記述するのに適しています。

throw

プログラムの中で問題が検出されたときに、throwキーワードを使って例外をスローします。独自の例外を意図的に発生させることも可能です。

サンプルコード

C#プログラムでエラー処理を行う例を見てみましょう。ここでは、0で除算した場合に発生する「DivideByZeroException」を捕捉する例を紹介します。

using System;
namespace MyErrorHandlingApplication {
   class DivNumbers {
      int result;
      DivNumbers() {
         result = 0;
      }
      public void myDivision(int num1, int num2) {
         try {
            result = num1 / num2;
         } catch (DivideByZeroException e) {
            Console.WriteLine("Exception Caught: {0}", e);
         } finally {
            Console.WriteLine("Result: {0}", result);
         }
      }
      static void Main(string[] args) {
         DivNumbers d = new DivNumbers();
         d.myDivision(5, 0);
         Console.ReadKey();
      }
   }
}

このコードでは、myDivisionメソッドに5と0を渡しているため、tryブロック内で0による除算が行われ、DivideByZeroExceptionが発生します。catchブロックでその例外を捕捉してメッセージを出力し、finallyブロックで計算結果を表示します。

出力結果

Result: 0

このように、例外処理を活用することで、エラーが発生してもプログラムが強制終了することなく、適切な処理を続けることができます。特に数値計算やファイル操作など、失敗の可能性がある処理では、try-catch-finallyの構造を活かした堅牢なコード設計が重要です。


  1. 【初心者向け】C++の例外処理の仕組みを徹底解説!try・catch・throwの基本から独自例外の作成まで

    C++における例外処理(Exception Handling)とは、プログラムの実行中に発生するエラー(ランタイムエラー)を適切に処理するための仕組みです。例外とは、実行時に送出されるイベントのことを指し、C++ではすべての標準例外が std::exception クラスを基底クラスとして定義されています。 もし例外を捕捉しなければ、プログラムは例外メッセージを出力した後に異常終了してしまいます。例外はハンドリング可能なランタイムエラーであり、適切に処理することでプログラムの堅牢性を大きく向上させることができます。 標準例外クラスの階層構造 C++標準では、例外は <exception&

  2. アバスト(Avast)に例外を追加する方法!ファイル・URLの除外設定手順を解説

    Avast Software(アバスト)はチェコ共和国に本社を置く多国籍サイバーセキュリティ企業です。同社が提供する「Avast Antivirus(アバスト アンチウイルス)」は、世界で最も人気のあるコンピュータセキュリティソフトの一つであり、4億3,500万人以上のユーザーに利用されています。マルウェア対策ソフトの中でも、アバストは最大の市場シェアを誇っています。アバストはウイルスやマルウェアの検出に非常に優れたソフトウェアですが、場合によっては無害なアプリケーションやファイルまで誤って検知してしまうことがあります。そこで本記事では、特定のアプリケーションやファイルを「例外」として登録し、