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. |
検索キーワード及びサンプルコードの別名(機能名) |