エラー処理

Visual Basic でのエラー処理は全て「subErrSyori」プロシージャで行う。

このプロシージャでは以下の処理を行う。

  1. オラクルのエラーか、VBのランタイムエラーかを判断して、それに会ったエラーメッセージを画面に出力する。
  2. 1. のエラーメッセージをエラーログファイルに出力する。
  3. プログラムを強制終了する。

よって、On Error で発生した処理を自分でコントロールしたい時は自分でそれ専用のエラー処理ロジックを作成する必要がある。

 

▼(1). オラクルの「行ロック待ち」エラーが発生する処理ロジックの場合の例

Private Sub cmdXXXXX_Click()
On Error GoTo Err_cmdXXXXX_Click:

   
    ‘※SELECT ~~~ FOR UPDATE NOWAITを実行
   
    
    ‘当イベントを終了する
    Exit Sub

Err_cmdXXXXX_Click:
    ‘If オラクルの行ロックエラーが発生した場合
    If poraDb.LastServerErr = 54 Then
        ‘エラーメッセージを出し、続行する場合
        If MsgBox("このデータは他のパソコンで使用中です。" & vbCrLf & _
                    "処理を続行しますか。", vbExclamation + vbYesNo, App.Title) = vbYes Then
            ‘エラーをリセットする
            poraDb.LastServerErrReset
            ‘同じ処理を再度行う
            Resume 0
        ‘End If
        End If
    End If
    ‘ランタイムエラーが発生したのでエラー処理をする
    Call subErrSyori("cmdXXXXX_Click", Err.Number, Err.Description)             
End Sub

 





 

▼(2). オラクルの「行ロック待ち」エラーが発生しない処理ロジックの場合の例

Private Sub cmdXXXXX_Click()
On Error GoTo Err_cmdXXXXX_Click:
    
   
    ‘0040ロジック
   
    
    ‘当イベントを終了する
    Exit Sub
Err_cmdXXXXX_Click:
    ‘ランタイムエラーが発生したのでエラー処理をする
    Call subErrSyori("cmdXXXXX_Click", Err.Number, Err.Description)
End Sub

 

 

▼(3). エラー処理専用プロシジャー(subErrSyori)

subErrSyori」サブルーチン参照。

 

 

OO4Oコーディング標準(VB)

初期登録日: 2003年11月12日

最終更新日: 2008年01月26日

< Home ヘ戻る >


キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ ]  :  Down the font size