tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: エラーになっても処理を続行させたい
投稿日: 2008/07/26(Sat) 15:06
投稿者魔界の仮面弁士
> 処理を続行し次のデータの処理へ進むためには
> 「On Error GoTo err_C」
そのプロシージャ内で、「エラーが発生する可能性がある場所」よりも前であれば
どこでも構いません。

Visual Basic のエラー処理については、VB6 付属の MSDN ライブラリに
チュートリアルとして細かく解説されていますので、コーディング作業の前に
一度目を通しておいてください。


> 「err_C:
> '    OraSession.rollback
>      errmsg = "データの登録に失敗しました。<< エラー内容 >>" & Err.Description
>      fileNo = FreeFile                         'ファイル番号の取得
>      Open "ERRLOG.TXT" For Append As #fileNo   'ファイルを追加モードで開く
>      Print #fileNo, errmsg & vbCrLf            'ファイルへ書き込む
>      Close #fileNo」
プロシージャ内であれば、どこに記述しても構いません。

ただし、この処理がエラー処理以外の目的で実行されることが無いようにするため、
 (1) Exit Sub (End Sub では無い)よりも後の行に書く。
 (2) If ステートメント等で、Err.Number によるエラーコード判定を併用する。
 (3) GoTo ステートメントなどを併用して、通常処理時にはエラー処理ブロックを
  通過させないようにしておく。
などといった対処を施す必要があります。(一般的には 案1 が採用されます)


> それ以前にOn ERROR Go Toで私がやりたいことを実行するのは可能でしょうか?
On Error Resume Next でも良い気がしますが、On Error GoTo を採用するのであれば、
エラー発生後に「エラー発生行の次の行から処理を続行する」ために、
err_C ラベル以降のエラー処理ルーチンの最後に、Resume Next ステートメントを
記述しておく必要があります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。