- ベストアンサー
ERRORHandler内で処理を分けたい
ERRORHandlerに強制的にとばして、そこで処理を行いたいのですが、何か良い知恵はありませんでしょうか。 たとえば、入力処理でエラーが発生した場合、ERRORHandlerの入力エラー処理でメッセージ&後処理、 出力処理でエラーが発生した場合、ERRORHandlerの出力エラー処理でメッセージ&後処理というように。 よろしくお願いします。 下記はサンプルです。 Sub テキスト入出力() On Error GoTo ERRORHandler '入力処理 <<処理内容>> 入力エラーの場合、ERRORHandlerにとぶ '出力処理 <<処理内容>> 出力エラーの場合、ERRORHandlerにとぶ Exit Sub ERRORHandler: 入力エラー処理 出力エラー処理 End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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 で行けるかと思います。
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
Err.Raise エラー番号
お礼
出来ました!! ありがとうございます。
- akiaki2
- ベストアンサー率59% (16/27)
入力処理と出力処理を別々のサブプロシジャにしたらどうですか?
お礼
実際のPGは入力処理、出力処理と相反する処理ではないため、この方法は使えません。 言葉がたりず、すみませんでした。 ありがとうございます。
お礼
出来ました!! ありがとうございます。