2016-11-24 9 views
0

私はtry-catchブロックで関数を持っていますが、localhostでソリューションを実行しても例外をスローしません。しかし、ときどき例外のMassegeを取得する "オブジェクト参照がオブジェクトのインスタンスに設定されていません。"私はそれをサーバー上で実行します。例外トリガーを取得する可能性があります

私のコードのキャッチブロックはこのように見えます。

catch (Exception e) 
{ 
     Mailing.SendMail(@gmail.com, e.Message 
    + Environment.NewLine + Request.UrlReferrer.OriginalString); 
} 

例外が検出されるたびに、電子メールを送信したいと思います。 私の質問は、私は例外からトリガのパラメータまたは行を得ることができるということです。

+1

スタックトレースをインクルードするために 'e.Message'の代わりに' e.ToString() 'を単に送ることができます。 –

+0

「すべての例外を解除」を有効にする方が良いでしょう。これは実際に他のNullReferenceExceptionの質問と重複しています –

+0

実際には、あなたがSOで簡単な答えを得たいのであれば、 'Exception.ToString()'結果を投稿するのは*必須*です。 –

答えて

0

例外からデータを取得することについて話していますか?

  1. e.StackTrace - スタックトレース
  2. e.Message - ユーザーフレンドリーな情報
  3. e.Data - 行番号を取得するには、追加のデータ(nullの場合もある)

、あなたが使用することができます。

StackTrace st = new StackTrace(ex, true); 
StackFrame frame = st.GetFrame(0); 
int line = frame.GetFileLineNumber(); 
+0

Exception.ToString()はこれらすべてを返します。それぞれを個別に呼び出す必要はありません –

+0

はい、何とか違った使い方をしたいのであれば、これはもっと柔軟です。 – Fka

+0

これは多くの作業とエラーが発生しやすいです。ログに記録する場合は、例外を記録してください。 StackOverflowで例外について質問したい場合は、単に 'Exception.ToString()'を投稿してください。 –

関連する問題