ASP.NET 및 WCF (IErrorHandler)에서 전역 예외 처리기 (Application_Error/Page_Error)의 사용과 관련하여 몇 가지 기본적인 의문점이 있습니다.글로벌 예외 처리기는 불필요한 try catch 블록 제거를 의미합니까?
위의 항목 중 하나를 사용하면 모든 예외 사항이 통과되며 내 의지에 따라 기록하고 매핑 할 수 있습니까? 또한 불필요한 try catch 블록을 모두 제거하고 필요할 때마다 try 블록으로 대체하는 것을 권장합니까?
'불필요한'은 결국 중복되는 블록을 잡아 당기는 것을 의미합니다. 예 : 내가 모든 DB 예외를 잡아서 wcf의 특정 FaultException으로 변환하고 현재 ProvideFault 메소드에서 동일한 변환을 수행하고 있다면, 클라이언트가 FaultException을 작성하는 것만으로 그 catch 블록을 제거하면 안된다. 세부?
아니요 ... 그냥 없습니다. :: shiver :: –
try catch 블록은 프로그램이 정상적으로 작동하지 않거나 예기치 않은 동작이나 결과를 초래할 수있는 오류를 정상적으로 처리 할 수 있도록하기 위해 존재합니다. ** ** 처리되지 않은 예외를 catch하는 전역 오류 처리기에 의존하는 것은 나쁜 설계 방식입니다. 잘 설계된 프로그램은 알려진 조건 **을 처리 할 catch 블록을 시도하고 예상치 못한 상황을 잡는 글로벌 처리기를 모두 갖습니다. – Tim
팀의 의견이 답이되어야합니다. 그것은 당신이 필요로하는 것입니다 - 즉각적이고 정확하게 말입니다. – Olexander