VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 エラー処理関係のメニュー
1.On Error ステートメントを使ったエラー処理
2.構造化例外処理を利用したエラー処理例
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載のエラー処理に関するサンプル


2.構造化例外処理を利用したエラー処理例(10_Err_01) (旧、SampleNo.070)
1.構造化例外処理を利用したエラー処理例
2.
3.
4.
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :Button1
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.構造化例外処理を利用したエラー処理例
Visual Basic .NET では以下のような 「例外処理」 を利用することができます。

 Try
   ' エラーの起きそうな処理
 Catch
   ' エラー処理コード
 End Try
又は、


 Sub TestVBNET()
  Try
    ' ここで、エラー発生の可能性がある
    ' 任意のアクションを実行します。
  Catch
    ' ここで、Try ブロックで発生した
    ' 例外を処理します。
  Finally
    ' ここで、クリーンアップコードを実行します。
  End Try
End Sub


例外処理は、見やすい、柔軟な例外処理が可能、ネストが可能、例外オブジェクトの利用などの特徴を持ちます。
これにより、より高度なエラー処理が可能になります。
ただし、同じプロシージャの中で、エラー処理と例外処理の両方を利用することはできません。


以下、構造化例外処理を利用したエラー処理例


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'構造化例外処理例

    Dim sr As System.IO.StreamReader = Nothing
    Dim fileOpen As Boolean = True
    Try
    'ここにエラー発生の可能性があるコードを記入します。
        '存在しないファイルを開きエラーを発生させる
        sr = New System.IO.StreamReader("test.txt", System.Text.Encoding.Default)
    Catch ex As Exception   'Catch と共に使用して、キャッチされたエラーを指定します
        'ここに、Try ブロックで発生したエラー処理コードを記入します。

        MessageBox.Show(ex.Message)     '現在の例外を説明するメッセージを表示
        '下記のように入れ子にもできます
        Try
            sr = New System.IO.StreamReader("..\..\..\data\test.txt", System.Text.Encoding.Default)
            'sr = New System.IO.StreamReader("test.txt", System.Text.Encoding.Default) 
        Catch
            MessageBox.Show("正しいファイル名を選択してやり直してください。")
            fileOpen = False
        End Try
    Finally
    'Finally ステートメント : 省略できます。
    'Try ステートメントの実行が終了する時は何時でも Finally ブロックが実行されます
        If fileOpen Then
            '例外の有無に関係なく実行したいコードを記入します。
            Debug.WriteLine(sr.ReadToEnd)
            'ストリームを閉じ、システムリソースを解放
            sr.Close()
            MessageBox.Show("ファイルをオープンしました。")
        End If
    End Try
    MessageBox.Show("エラー処理は終了しました。")

'MSDN の Try...Catch...Finally ステートメント の解説
'http://msdn.microsoft.com/ja-jp/library/fk6t46tz(VS.80).aspx
End Sub

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。