문제

질문에 모든 것이 나와 있습니다. 다음 예제 코드를 살펴보세요.

<ul id="css-id">
    <li>
    <something:CustomControl ID="SomeThingElse" runat="server" />
    <something:OtherCustomControl runat="server" />
    </li>
</ul>

이제 이러한 컨트롤(마스터 페이지에 있음) 내부 어딘가에서 오류가 발생하면 전체 사이트가 중단됩니다. 이러한 예외를 어떻게 잡을 수 있습니까?

도움이 되었습니까?

해결책

Global.asax Page / Class에서 ELSWHERE를 처리하지 않은 모든 예외를 포착 할 수 있습니다. 보다:

protected void Application_Error(Object sender, EventArgs e)

방법.

다른 팁

불행히도 처리되지 않은 예외는 항상 귀하의 사이트에 오류가 발생합니다. 그래도 몇 가지 방법을 방해 할 수 있습니다.

  • Web.config의 섹션을 사용하여 사용자 친화적 인 메시지를 표시하십시오.
  • Global.asax에서 또는 사용자 정의 핸들러 - 처리되지 않은 예외를 잡고 그에 따라 반응합니다. 이와 같이

최상의 솔루션

  • 컨트롤이 처리되지 않은 예외를 던지지 않도록하십시오!

Global.asax en application_error 핸들러를 구현하십시오. Server.getLasterror () 함수를 사용하여 제외 된 예외를 처리하십시오.

다음에 설명된 대로 global.asax Application_Error 메서드 사용 Visual C# .NET을 사용하여 ASP.NET에서 사용자 지정 오류 보고 페이지를 만드는 방법.

대안적인 접근 방식은 다음을 사용하는 것입니다. HTTP 모듈;이렇게 하면 유연성이 더 높아집니다(예를 들어 여러 애플리케이션의 오류를 처리할 수 있음).

예외를 잡고 처리하고 싶습니까?

아니면 노란색 사망 스크린을 막고 싶습니까? 노란색 사망 스크린을 막으려 고한다면 처리를보십시오. Error 이벤트 HttpApplication (즉, Global.asax에서).

자세한 내용은 다음 MSDN 페이지를 참조하십시오.http://msdn.microsoft.com/en-us/library/system.web.httpapplication.error.aspx

구체적 으로이 단락 :

오류 이벤트를 제기하는 예외는 getLasterror 메소드에 대한 호출로 액세스 할 수 있습니다. 응용 프로그램에서 사용자 정의 오류 출력을 생성하면 ClearerRor 메소드에 대한 호출로 ASP.NET에서 생성 한 기본 오류 메시지를 억제하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top