次の方法で共有


方法 : Try ブロックと Catch ブロックを使用して例外をキャッチする

更新 : 2007 年 11 月

例外をスローする可能性のあるコード セクションを try ブロックに配置し、例外を処理するコードを catch ブロックに配置します。catch ブロックとは、catch キーワード、例外の種類、実行アクションの順で記述されたステートメントの集まりです。

xtd0s8kd.alert_note(ja-jp,VS.90).gifメモ :

どのコード行でも例外が発生する可能性があります。特に、共通言語ランタイム自体からスローされる例外 (OutOfMemoryExceptionStackOverflowException など) が発生する可能性があります。ほとんどのアプリケーションでは、このような例外を処理する必要はありませんが、他のユーザーが使用するライブラリを作成するときにはこれらの例外が発生する可能性について注意する必要があります。try ブロックのコードを設定する必要がある状況に関する提案事項については、「例外処理の実施」を参照してください。

try ブロックと catch ブロックを使用して例外をキャッチするコード例を次に示します。Main メソッドには、StreamReader ステートメントのある try ブロックが含まれています。このステートメントは、data.txt というデータ ファイルを開き、このファイルの文字列を書き込みます。try ブロックの後に、try ブロックで発生する例外をキャッチする catch ブロックが続きます。

使用例

Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Security.Permissions
<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, All := "c:\data.txt")>

Public Class ProcessFile
   Public Shared Sub Main()
      Try
         Dim sr As StreamReader = File.OpenText("data.txt")
         Console.WriteLine("The first line of this file is {0}", sr.ReadLine())
      Catch e As Exception
         Console.WriteLine("An error occurred: '{0}'", e)
      End Try
   End Sub
End Class
using System;
using System.IO;
using System.Security.Permissions;
// Security permission request.
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All = @"c:\data.txt")]
public class ProcessFile {
    public static void Main() {
        try {
            StreamReader sr = File.OpenText("data.txt");
            Console.WriteLine("The first line of this file is {0}", sr.ReadLine());    
        }
        catch(Exception e) {
            Console.WriteLine("An error occurred: '{0}'", e);
        }
    }
}

上記のコード例には、発生する例外をすべてキャッチする基本的な catch ステートメントが記述されています。一般に、基本的な catch ステートメントを使用する代わりに、特定の種類の例外をキャッチするコードを記述すると、プログラミングの点から便利です。特定の例外のキャッチの詳細については、「catch ブロックでの特定の例外の使用」を参照してください。

参照

処理手順

方法 : catch ブロックで特定の例外を使用する

方法 : 例外を明示的にスローする

方法 : ユーザー定義の例外を作成する

方法 : finally ブロックを使用する

その他の技術情報

例外処理の基本事項