重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

タイトル通りですが、VB6でOn Error GoTo XXXとしておくと、エラー発生時、XXXのラベルから実行されます。この時、どこから、このエラー処理(XXX)に飛んできたかを知ることは出来ないのでしょうか。要はエラーの発生した場所(ステートメント)を知りたいのですが、どのようにすれば、知ることが出来るでしょうか。現在は、怪しいところに目つけて、そこから1ステップずつ実行しているのですが、効率が悪いので、簡単に知る方法があればと思い質問しました。

A 回答 (2件)

私がよくやるのは、



  On Error GoTo Err_XXX
  ...
  Exit Sub
Err_XXX:
  Stop
  Resume
  ...  '正規のエラー処理
End Sub

のように Resume で戻る方法です。
もちろん、原因がわかって対処を施したあとで Stop、Resume は削除します。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。この方法だと、確実にエラーの発生箇所が特定できますね。今後は、この方法を試してみます。

お礼日時:2004/02/08 20:14

確かに、On Error Gotoの場合、飛んできた元は分からないですよね。


その為に、はまることもしばしばですが・・・

そこで、取るべき方法は、”自分でステータス値”を設定するしかないと思います。
つまり、プログラムの関数/サブルーチンの中に、ステータス値を格納する変数を持ち、一連の処理が進む度に、自分でステータス値をセットしていく。

そして、エラー発生時にそのステータス値を表示するなりすれば、一発で分かると思いますよ。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。やはり、どこから飛んできたかは、判らないですか。今後は、教えていただいた方法を参考にさせていただきます。ありがとうございました。

お礼日時:2004/02/08 19:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!