2011-09-09 19 views
0

asp.netで、私はエラーが存在するとき、サーバーの詳細なメッセージを見ることができません。つまり、ブラウザを開いてhttp:// [errorpage] .comと移動し、ページに「内部サーバーエラー - サーバーがビジー状態です」と表示されたとき、サーバーがビジー状態であることは間違いなく知っていますが...私のアプリケーションでは、エラーは503に過ぎませんが、mozillaブラウザが動いてからエラーメッセージ全体を見ることはできません。私は例外をキャッチして表示しようとしましたが、...いいえ。また、私は正規表現でソースを解析しようとしました。 - しかし、私は、ネットがエラーが存在し、解析に進むことができない場合はいつでも停止すると思います - trycatchingなしでも同じことです。サーバエラーの詳細な出力が見えませんか?

答えて

0

それを行うための最善の方法は、その後、あなたのファイルを調べて

例えば完全なエラーを取得することができます(データベース、ファイル...)どこかにエラーを保存し、あなたのコードにエラー処理を実装することです

try { 
    //your code here 
} 
catch(Exception ex) 
{ 
    //write to file ex.ToString() to see whole stack trace, or ex.Message to see just message like "index out of bounds" 
} 

ともブラウザでエラーを取得したい場合は、あなたの設定ファイルでそれをオン

ルールなどの詳細http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

+0

ありがとう、私はweblientのように考えているかもしれません。今...エラー処理は私の場合にはうまくいきません。たとえば:MessageBox.Show(ex.ToString()); - 私には何も言わない···503 - 別の例外スロー(サーバビジー、mysql失敗など)を試しても何の理由も違いもない。 – Jim

+0

'MessageBox'はWindowsフォームの一部であり、ASP.NETでは動作しません。 –

1

については、このリンクを見て、これを上有効にしないでくださいライブウェブサイト。あなたのweb.configで、以下を追加/編集してください:

<customErrors mode="Off" /> 

エラーの詳細情報が表示されます。しかし、やはりライブサーバー上で、あるいは少なくともセキュリティ上の危険性があるため、少なくとも永久にはこれを行わないでください。

0

あなたの質問は少し躁ですが、これが起こっている場合、スタックまで何が起こっているか、エラーハンドリングを検討するために持っている:

try{ 
    //Something 
} 
catch(Exception){ 
    //Handle it some how 
    throw new Exception("Broken"); 
} 

が、これは前のコールスタックのすべてを失うことになります新しい例外がスローされます。これが起こっている場合、それはこのように固定することができます。

try{ 
    //Something 
} 
catch(Exception){ 
    //Handle it some how 
    throw; 
} 

これはスタックトレースで元の例外をスローするように続けています。

0

ASP.NET Health Monitoringをオンにすると、ASP.NETはエラーの詳細をWindowsイベントログまたは指定した他の送信先に記録します。

関連する問題