Top > .NET Visual C#言語入門 > 例外と例外処理
プログラム構造 列挙型(enum) コンストラクタ・デストラクタ
スケルトン 配列 メソッド
クラス内の記述構成 構造体 プロパティ
HalloWorld 修飾子 静的クラスと静的メンバ
コマンドライン引数 プリプロセッサ ディレクティブ フィールド
コメント 例外と例外処理 演算子のオーバーロード
ステートメント(文) 可変個引数リスト(params) イベント(割り込み)
式(演算子) 名前空間 デリゲート
変数とデータ型 クラスとオブジェクト インデクサ
型変換(キャスト) クラス(class) デリゲート&イベント発生と受信サンプル
定数(Const/Readonly) 部分クラス定義  
文字列(string) 継承  

例外と例外処理

C# 言語の例外処理機能を使用すると、プログラムの実行中に発生する不測の状況や例外的な状況に対処できます。

例外処理では、trycatch、および finally の各キーワードを使用して、成功しない可能性のあるアクションの試行、エラーの処理、およびリソースの後処理を行います。例外は、共通言語ランタイム (CLR: Common Language Runtime)、サードパーティ ライブラリ、または throw キーワードを使用するアプリケーション コードによって生成できます。

次の例では、メソッドでゼロ除算をテストしてエラーをキャッチします。例外処理がなければ、このプログラムは、"DivideByZeroException はハンドルされませんでした。" エラーによって終了します。

int SafeDivision(int x, int y)
{
    try
    {
        return (x / y);
    }
    catch (System.DivideByZeroException dbz)
    {
        System.Console.WriteLine("Division by zero attempted!");
        return 0;
    }
}

例外の概要

例外には、次のような特徴があります。

  • ゼロ除算警告や低メモリ警告などの例外的な状況がアプリケーションで発生すると、例外が生成されます。
  • 例外が発生したときに、関連する例外ハンドラが存在する場合、制御フローは直ちにそのハンドラにジャンプします。
  • 特定の例外用の例外ハンドラがない場合、プログラムはエラー メッセージを表示して実行を停止します。
  • 例外を発生させる可能性のあるアクションは、try キーワードを使用して実行します。
  • 例外ハンドラは、例外が発生したときに実行されるコード ブロックです。C# では、catch キーワードを使用して例外ハンドラを定義します。
  • 例外は、throw キーワードを使用してプログラム側で意図的に生成できます。
  • 例外オブジェクトには、呼び出し履歴の状態やエラーのテキスト説明など、エラーに関する詳細情報が含まれています。
  • 例外がスローされた場合でも finally ブロックのコードは実行されるため、プログラム側でリソースを解放できます。

 「例外処理ステートメント」を参照

▲ページトップに戻る

【本を読んでもよくらからない】 … 個別指導でわかりやすくお教えします