- PR -

Server.GetLastErrorについて

1
投稿者投稿内容
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2006-12-14 15:05
初めて投稿させていただきます。

ASP.netで開発をしているのですが、どうしても分からない事があります。

例外発生時にログをOnErrorのイベントで出力しているのですが、
Server.GetLastErrorでメソッド名が取得できません。
正確には実際の例外発生場所と違うメソッド名が返ってきます。

例えば、以下のように例外を発生すると

Dim a As Integer = ""

FromStringと返ってきます。

Private Sub Method1()
例えば上記のメソッドがあるとして、例外が発生した場合は
Method1が返ってきてほしいのです。

何かお分かりの方いましたら、ご教授をお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 16:48
StackTrace と StackFrame について調べてみましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2006-12-14 17:12
早速の返信ありがとうございます。

StackTraceとStackFrameについて調べたいと思います。

囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-12-14 19:30
コードは ZERO さんが書いたものだけでできている訳ではないので、「例外発生場所」は ZERO さんが書いたもの以外のコードもあるわけです。

「例外発生場所」というのを正確に言うと、Throw〜 が書かれているメソッドの事です。

今回の例の場合、Method1() には Throw はどこにも書かれていないので、Method1() は「例外発生場所」に成りえません。

Try〜Catch して例外発生場所を変更する事もできますが、お奨めしません。
_________________
囚人のジレンマな日々
1

スキルアップ/キャリアアップ(JOB@IT)