asp.Netエラーキャプチャ(エラー処理)page_errorイベントの使用方法
1494 ワード
ASP.NETは、エラーが発生したときにエラーをキャプチャおよび応答するための3つの主要な方法を提供します.page_Errorイベント、アプリケーション_Errorイベントおよびアプリケーションプロファイル(Web.config).
この3つの方法の主な役割はカスタマイズされたエラーレポートの作成にほかならない.カスタマイズされたエラーレポートの作成の役割は、セキュリティ上の考慮にほかならない.また、ユーザーに友好的なエラーページを表示し、プログラムの友好性を高めるためである.
Page_Errorイベントの例を次に示します.
この例では、ブラウザに詳細なエラー情報が表示されます.この例は説明のためだけです.アプリケーションのエンドユーザーにエラーの詳細を表示するのは危険です(特にwebプログラム).より適切な方法は、エラーが発生したことをユーザーに通知し、特定のエラー情報をイベントログに記録するメッセージを表示することです.
この例はPage_Loadイベントで意図的に空の異常を起こしてPageをテストします.Errorイベントの.
例:ウェブプログラムを作成する-新しいページPageEvent.aspx、次のコードをPageEventに追加します.aspx:
保存、ページを右クリックします.「ブラウザで表示」をクリックすると、取得したカスタムエラー情報が表示されます.
この3つの方法の主な役割はカスタマイズされたエラーレポートの作成にほかならない.カスタマイズされたエラーレポートの作成の役割は、セキュリティ上の考慮にほかならない.また、ユーザーに友好的なエラーページを表示し、プログラムの友好性を高めるためである.
Page_Errorイベントの例を次に示します.
この例では、ブラウザに詳細なエラー情報が表示されます.この例は説明のためだけです.アプリケーションのエンドユーザーにエラーの詳細を表示するのは危険です(特にwebプログラム).より適切な方法は、エラーが発生したことをユーザーに通知し、特定のエラー情報をイベントログに記録するメッセージを表示することです.
この例はPage_Loadイベントで意図的に空の異常を起こしてPageをテストします.Errorイベントの.
例:ウェブプログラムを作成する-新しいページPageEvent.aspx、次のコードをPageEventに追加します.aspx:
<br>void Page_Load(object sender, System.EventArgs e)
<br>{
<br>// “ ” keleyi.com
<br>throw (new ArgumentNullException());
<br>}
<p></p>
<p>protected void Page_Error(object sender, EventArgs e) <br>{<br>Exception objErr = Server.GetLastError().GetBaseException(); // <br>string err = "1.error in: " + Request.Url.ToString() + "</br>" +<br>"2.error Message: " + objErr.Message.ToString() + "</br>" +<br>"3.stack Trace: " + objErr.StackTrace.ToString() + "</br>";<br>Response.Write(err.ToString()); // <br>// Response.Redirect("ErrorPage.htm"); // <br>Server.ClearError();<br>}<br>
保存、ページを右クリックします.「ブラウザで表示」をクリックすると、取得したカスタムエラー情報が表示されます.