2009-04-02 2 views
8

catch 문에서 발생하는 예외를 처리하는 가장 좋은 방법은 무엇입니까? 현재 응답 객체의 write 메소드에 예외 메시지를 작성하고 있습니다. 하지만 사용자가 뭔가 잘못되었다는 일반적인 오류 메시지 만 표시하는 솔루션이 필요하지만 오류에 대한 자세한 설명을 얻어야합니다. C#에서 예외 처리를 위해 사용 된 여러 가지 방법을 알고 싶습니다.C#을 사용하여 웹 프로젝트에서 예외를 처리하는 메서드

답변

7

웹 프로젝트의 경우 브라우저로 푸시 다운되는 예외를 방지하기 위해 상태 모니터링을 사용하고 사용자 정의 오류 페이지를 사용할 수도 있습니다. catch 문 내부에서 예외가 발생할 가능성을 예상하는 경우에는 다른 try catch를 중첩시켜 중재 할 수 있습니다. 당신을 위해 http://www.4guysfromrolla.com/articles/031407-1.aspx

+0

확실히가는 길 +1 –

1

이벤트 로그에 쓰기가 옵션 중 하나입니다.

2

데이터베이스에 자세한 오류를 기록하고 사용자를 일반 오류 페이지로 리디렉션합니다.

4

좋은 다음의 Global.asax에서

또한 ASP.NET에서 처리되지 않은 예외

앤드류

상태 모니터링을 위해 호출 될함으로써 Application_Error 이벤트를 구독 할 수 있습니다

이것을 고치고 싶다. 예외 메시지를 사용자에게 직접 작성하면 심각한 보안 위험이 발생할 수 있습니다. 이미 알고있는 것처럼 예외 메시지에는 악의적 인 사용자가 사이트에 액세스하는 데 도움이 될 수있는 많은 정보가 포함될 수 있습니다.

ELMAH (오류 로깅 모듈 및 처리기)을 살펴 보겠습니다. 웹 앱에 자세한 오류 로깅을 추가하는 쉬운 방법입니다.

1

REA_ANDREW에서 말한 것처럼 사용자 지정 오류 페이지와 함께 상태 모니터링을 사용하십시오.

그가 명시 적으로 말하지 않은 한 가지는 모든 것을 둘러싼 try/catch 블록을 넣는 프로그래밍 스타일을 피해야한다는 것입니다. 상태 모니터링은 처리되지 않은 예외를 기록하며 사용자 정의 오류 페이지는 사용자가 오류에 대해 (필요한 경우) 보려는 모든 것을 사용자에게 표시합니다. 그러나 이것은 이 아니고 예외를 잡는 경우에만 발생하므로 혼자 남겨두고 전달하도록하십시오.

관련 문제