- ベストアンサー
On Error GoToで飛んだ元の位置が知りたい
タイトル通りですが、VB6でOn Error GoTo XXXとしておくと、エラー発生時、XXXのラベルから実行されます。この時、どこから、このエラー処理(XXX)に飛んできたかを知ることは出来ないのでしょうか。要はエラーの発生した場所(ステートメント)を知りたいのですが、どのようにすれば、知ることが出来るでしょうか。現在は、怪しいところに目つけて、そこから1ステップずつ実行しているのですが、効率が悪いので、簡単に知る方法があればと思い質問しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私がよくやるのは、 On Error GoTo Err_XXX ... Exit Sub Err_XXX: Stop Resume ... '正規のエラー処理 End Sub のように Resume で戻る方法です。 もちろん、原因がわかって対処を施したあとで Stop、Resume は削除します。
その他の回答 (1)
- BlackBunny
- ベストアンサー率61% (8/13)
回答No.1
確かに、On Error Gotoの場合、飛んできた元は分からないですよね。 その為に、はまることもしばしばですが・・・ そこで、取るべき方法は、”自分でステータス値”を設定するしかないと思います。 つまり、プログラムの関数/サブルーチンの中に、ステータス値を格納する変数を持ち、一連の処理が進む度に、自分でステータス値をセットしていく。 そして、エラー発生時にそのステータス値を表示するなりすれば、一発で分かると思いますよ。
質問者
お礼
早速の回答ありがとうございました。やはり、どこから飛んできたかは、判らないですか。今後は、教えていただいた方法を参考にさせていただきます。ありがとうございました。
お礼
回答ありがとうございました。この方法だと、確実にエラーの発生箇所が特定できますね。今後は、この方法を試してみます。