- PR -

Exceptionからエラー発生行番号などの取得

1
投稿者投稿内容
やんたん
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 63
投稿日時: 2003-10-16 23:26
いつもお世話になっております。

Exception発生時にどこで発生したのかの行番号などの情報を取得したいと
思っております。
具体的にはStackTraceで取得される項目が欲しいのですが、StackTraceのような
1つの文字列として出なく、行番号、メソッド、エラーメッセージといった具合に
取得できないものでしょうか。
他のものなら何とかなりそうなんですが、どうも行番号だけはどのように
取得すればよいのか見当がつきません。
StackTraceで出力されているので、どこかからその情報を取得できるのではと思っているのですが。。。

ご存知でしたら教えてください。

ハヤ
常連さん
会議室デビュー日: 2003/06/04
投稿数: 41
投稿日時: 2003-10-22 12:07
ASP.NETアプリをC#で作成しています。

同じ事で悩んでいます。

アプリケーションが不正終了した場合、例外処理を行っていない場合の画面で、
以下のようにどのプログラムのどの行で不正終了したかが表示されます。

ソース ファイル : c:\inetpub\wwwroot\webapplication17\webform1.aspx.cs 行 : 54

この情報を例外処理を行った場合に取得したいと思っていますが、
取得の方法が分かりません。教えていただけませんでしょうか?
(トピ主さんはどのように解決されたのでしょう?
架空兎
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 78
お住まい・勤務地: さいたま氏
投稿日時: 2003-10-22 17:32
簡単に書くとこんな感じでしょうか?

コード:
try {
    ・・・
}
catch (Exception ex) {
    System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace(ex, true);

    // index はスタックフレームのインデックス
    int lineNumber = stackTrace.GetFrame(index).GetFileLineNumber();

    ・・・
}

1

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