エラー処理[OO4O処理含む] (subErrSyori)

 

‘/*************************************************/
‘/* [ 名 称 ] subErrSyori      : エラー処理(OO4O含む)                    
‘/* [ 引 数 ] strErrorMsg      : 出力文字列 (エラー場所等のメッセージ)      
‘/*           strErrNo         : 入力数値  (Err.Numberの値)                 
‘/*           strErrDescription: 入力文字列 (Err.Descriptionの値)           
‘/* [ 戻 値 ] なし                                                           
‘/* [ 概 要 ] OO4Oのエラー処理も含めてのエラー処理をする。               
‘/*           画面にエラーメッセージを出力し、                               
‘/*           エラー内容をログファイルに出力し、                             
‘/*           当アプリケーションを強制終了する。                             
‘/* [ 備 考 ] プロシージャ内部でエラーが発生しても強制実行する。             
‘/* [ 履 歴 ] 2003/11/01 新規 v01.00 会社名 担当者名                      
‘/*************************************************/
Public Sub subErrSyori(ByVal strErrorMsg As String, _
                       ByVal strErrNo As Long, _
                       ByVal strErrDescription As String)
    ‘プロシージャ内部でエラーが発生しても強制実行する
On Error Resume Next
‘変数宣言———————————————————————
    Const strERR_MSG    As String = "この画面を印刷し、システム担当者に連絡して下さい。"
    Dim strMsg          As String   ‘エラーメッセージ編集変数
‘—————————————————————————–
    ‘オラクルセッション(接続系)でエラーが無い場合
    If poraSess.LastServerErr = 0 Then
        ‘オラクルDB(処理系)でエラーが無い場合
        If poraDb.LastServerErr = 0 Then
            ‘VBランタイムエラーが発生した場合
            If strErrNo <> 0 Then
                ‘全ての引数でエラーメッセージを編集する
                strMsg = strErrNo & " : " & strErrDescription & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
            Else
                GoTo Next_subErrSyori:
            End If
        Else
            ‘オラクルのエラーメッセージ(処理系)をセットする
            strMsg = poraDb.LastServerErrText & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
            ‘エラーをリセットする
            poraDb.LastServerErrReset
        End If
    Else
        ‘オラクルのエラーメッセージ(接続系)をセットする
        strMsg = poraSess.LastServerErrText & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
        ‘エラーをリセットする
        poraSess.LastServerErrReset
    End If
    GoTo Exit_subErrSyori:    





Next_subErrSyori:
    ‘オラクルセッション(接続系)でエラーが無い場合
    If poraSessW.LastServerErr = 0 Then
        ‘オラクルDB(処理系)でエラーが無い場合
        If poraDbW.LastServerErr = 0 Then
            ‘全ての引数でエラーメッセージを編集する
            strMsg = strErrNo & " : " & strErrDescription & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
        Else
            ‘オラクルのエラーメッセージ(処理系)をセットする
            strMsg = poraDbW.LastServerErrText & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
            ‘エラーをリセットする
            poraDbW.LastServerErrReset
        End If
    Else
        ‘オラクルのエラーメッセージ(接続系)をセットする
        strMsg = poraSessW.LastServerErrText & vbCrLf & vbCrLf & _
                        "(" & strErrorMsg & ") で上記エラーが発生しました。" & _
                        vbCrLf & vbCrLf & strERR_MSG
        ‘エラーをリセットする
        poraSessW.LastServerErrReset
    End If    

Exit_subErrSyori:
    ‘エラーメッセージを出力する
    Call MsgBox(strMsg, vbOKOnly + vbCritical + vbApplicationModal, _
        App.Title & "(エラー発生)")        

    ‘ログファイルを出力する
    Call subOutputLog(strMsg)    

    ‘当アプリケーションを終了する
    Call subEndApp    

End Sub

 

Visual Basic TIPS集

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

最終更新日: 2003年11月10日

< Home ヘ戻る >


キーボード

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

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

Shortcut Keys

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