タイトル : 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 ステートメントを 記述しておく必要があります。 |