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

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


1.On Error ステートメントを使ったエラー処理(10_Err_01) (旧、SampleNo.070)
1.On Error Resume Next ステートメントの使用例
2.On Error GoTo ステートメントの使用例
3.On Error GoTo 0 ・ On Error GoTo -1 の使用例
4.
5. 
6. 
 尚、これらのエラー処理は、VB6.0 時代のもので、.NET では[例外処理]と呼ばれる機能を使ってエラー処理をします。
 従って、次に紹介する[構造化例外処理例]の方でエラー処理をするようにして下さい。

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

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'On Error Resume Next ステートメントの使用例

  'ランタイムエラーが発生すると、エラーが発生したステートメントの
  '直後のステートメントに制御が移り、そのステートメントから実行が
  '継続されます。オブジェクトにアクセスする場合は、On Error GoTo
  'ではなく、この形式を使用してください。

  On Error Resume Next

  '以下エラーの起きそうな処理(又は通常の処理)を記入

  '存在しないファイルを開きエラーを発生させる
  Dim sr As New System.IO.StreamReader("test.txt", System.Text.Encoding.Default)

  MessageBox.Show("エラーが発生しても次の処理をします。")


  'エラーが発生した事を確認する
  If Err.Number <> 0 Then
   'エラーの内容を表示
   MessageBox.Show(Err.Description, "エラーが発生しました。")
   'Err オブジェクトのすべてのプロパティの設定値をクリアします
   Err.Clear()
  End If

  'On Error Resume Next ステートメントは、ランタイムエラーを発生させた
  'ステートメントの直後にあるステートメント、または、On Error Resume Next
  'ステートメントが入っているプロシージャから最後に呼び出しを行ったステートメントの
  '直後のステートメントを使用して、実行を継続させます。
  'これにより、ランタイムエラーが発生しても処理を続けることができます。
End Sub

このページのトップへ移動します。 2.On Error GoTo ステートメントの使用例(070)

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'On Error GoTo ステートメントの使用例

  'On Error GoTo ステートメントは、例外クラスに関係なく
  'すべてのエラーをトラップします。
  On Error GoTo ErrorHandler
  '以下エラーの起きそうな処理(又は通常の処理)を記入
  '存在しないファイルを開きエラーを発生させる
  Dim sr As New System.IO.StreamReader("test.txt", System.Text.Encoding.Default)

  MessageBox.Show("エラー処理により復帰しました。")


  Exit Sub
ErrorHandler:
  'エラー処理コードを記入

  'エラーが発生した事を確認する
  If Err.Number <> 0 Then
   'エラーの内容を表示
   MessageBox.Show(Err.Description)
   'Err オブジェクトのすべてのプロパティの設定値をクリアします
   Err.Clear()
  End If


  'エラーが発生したステートメントの直後のステートメントに制御を移したい場合
  Resume Next

End Sub

このページのトップへ移動します。 3.On Error GoTo 0 ・ On Error GoTo -1 の使用例

On Error GoTo 0
  現在のプロシージャで有効になっていたエラーハンドラーを無効にし、Nothing にリセットされます。

On Error GoTo -1
現在のプロシージャで有効になっていた例外を無効にし、Nothing にリセットされます。 

等も使用できます。
詳しくは、ヘルプで On Error を調べて下さい。

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


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



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


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





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