• ベストアンサー

ERRORHandler内で処理を分けたい

ERRORHandlerに強制的にとばして、そこで処理を行いたいのですが、何か良い知恵はありませんでしょうか。 たとえば、入力処理でエラーが発生した場合、ERRORHandlerの入力エラー処理でメッセージ&後処理、 出力処理でエラーが発生した場合、ERRORHandlerの出力エラー処理でメッセージ&後処理というように。 よろしくお願いします。 下記はサンプルです。 Sub テキスト入出力() On Error GoTo ERRORHandler '入力処理 <<処理内容>> 入力エラーの場合、ERRORHandlerにとぶ '出力処理 <<処理内容>> 出力エラーの場合、ERRORHandlerにとぶ Exit Sub ERRORHandler: 入力エラー処理 出力エラー処理 End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

On Err Resume Next をプロシージャ内で宣言して、Err.Numberでエラーナンバーが拾えるエラーなら、それで条件分岐。 独自に設定しているエラーなら、適当な変数を作って、それに値を入れてERRORHandlerに飛ばして条件分岐してはいかがでしょう。 例えば、入力エラーを myErrnumber=1 入力エラーを myErrnumber=2 で、ERRORHandler: 以下では Select Case myErrnumber Case 1 : 入力エラー処理 Case 2 : 出力エラー処理 End Select となります。Err.Numberが拾える場合は Select Case Err.Number で行けるかと思います。

tyurajima
質問者

お礼

出来ました!! ありがとうございます。

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

Err.Raise エラー番号

tyurajima
質問者

お礼

出来ました!! ありがとうございます。

  • akiaki2
  • ベストアンサー率59% (16/27)
回答No.1

入力処理と出力処理を別々のサブプロシジャにしたらどうですか?

tyurajima
質問者

お礼

実際のPGは入力処理、出力処理と相反する処理ではないため、この方法は使えません。 言葉がたりず、すみませんでした。 ありがとうございます。

関連するQ&A