.NET의 오류 처리 메커니즘은 다음과 같습니다. 1. [Page_Error] 이벤트, 2. ErrorPage 속성, 3. [Application_Error] 이벤트, [
] 구성 항목. 위의 네 가지 처리 메커니즘은 주로 예외 처리 및 페이지 수준 오류 처리에 사용됩니다.
.NET은 네 가지 오류 처리 메커니즘을 제공합니다.
1.Page_Error 이벤트
Page_Error 이벤트는 페이지 수준에서 발생하는 오류를 캡처하는 방법을 제공합니다. 간단히 오류 메시지를 표시하거나(아래 샘플 코드 참조) 이벤트를 기록하거나 다른 작업을 수행할 수 있습니다.
private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here throw new Exception("Page Error!"); } protected void Page_Error(object sender, EventArgs e) { Exception objErr = Server.GetLastError().GetBaseException(); Response.Write("Error:" + objErr.Message); Server.ClearError(); //同样要注意这句代码的使用 }
참고: 이 예는 브라우저에 자세한 오류 메시지를 표시하며 설명용으로만 제공됩니다. 애플리케이션의 최종 사용자에게 자세한 정보를 표시할 때는 주의하세요. 오류가 발생했다는 메시지를 사용자에게 표시한 다음 특정 오류 세부 정보를 기록하는 것이 더 적절합니다.
2. ErrorPage 속성
페이지에서 거의 언제든지 ErrorPage 속성을 설정하여 페이지에 오류가 발생할 때 리디렉션할 페이지를 결정할 수 있습니다. ErrorPage 속성이 작동하려면
this.ErrorPage = "~/ErrorHandling/PageError.html";
Page_Error와 ErrorPage가 모두 존재하는 경우 Exception이 발생했을 때 페이지 실행 순서는 어떻게 되나요? 페이지는 먼저 Page_Error 이벤트 처리 기능을 실행합니다. Page_Error() 이벤트에서 Server.ClearError() 함수를 호출하여 예외 정보를 지우면 Server.ClearError인 경우 ErrorPage 속성에 지정된 페이지로 이동하지 않습니다. ()가 호출되지 않으면 예외 정보가 계속 위로 던져지고 페이지는 ErrorPage에서 지정한 페이지로 이동합니다. 이는 또한 우선순위 순서(Page_Error 이벤트 > ErrorPage 속성)를 증명합니다.
3.Application_Error 이벤트
Page_Error 이벤트와 유사하게 Application_Error 이벤트를 사용하여 애플리케이션에서 발생하는 오류를 캡처할 수 있습니다. 이벤트는 애플리케이션 전체에서 발생하므로 애플리케이션 오류 정보를 기록하거나 발생할 수 있는 기타 애플리케이션 수준 오류를 처리할 수 있습니다. Global.asax 파일에 다음 코드를 추가하면 문제가 없습니다.
protected void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError().GetBaseException(); //实际应用中这里可以将Exception信息记Log或是保存到数据库中 //还可以将错误发邮件给网站维护人员 Response.Write("Error:" + ex.Message); //清除Exception,避免继续传递给上一级处理 //这里上级就是<CustomerErrors>配置节了 Server.ClearError(); }
4.
구성 파일 web.config의
<customErrors mode="On" defaultRedirect="~/ErrorHandling/ApplicationError.html"> <error statusCode="404" redirect="~/ErrorHandling/404.html" /> </customErrors>
마찬가지로 Application_Error와
위의 .NET에서 제공하는 4가지 오류 처리 메커니즘을 분석함으로써 이를 다양한 관점에서 분류하여 이해와 사용을 용이하게 할 수 있습니다.
1. 기능적으로 분류됨: Page_Error 이벤트와 Application_Error 이벤트는 예외 처리(예외 처리)에 사용되며, ErrorPage 속성과
2. 오류 처리 범위에 따른 분류: 페이지 수준 오류 처리에는 Page_Error 이벤트와 ErrorPage 속성이 사용되며, 응용 프로그램 수준 오류 처리에는
위 내용은 .net의 오류 처리 메커니즘은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!