2012-11-11 3 views
0

가능한 중복 :
What’s the best way to handle the exceptions and how to deal with them in asp.net관리 예외

내가 ASP.NET MVC와 웹 사이트를 구축 할 수 있습니다. 내부 함수에서 DB와 같은 로직을 처리합니다. 내부에서는 예기치 않은 예외를 잡으려고합니다.

클라이언트에 메시지를 반환하는 예외에 대해 알아야하기 때문에 내부 함수를 호출하는 컨트롤러에서도 try catch를 사용해야합니다. 실적에 미치는 영향이 많습니까?

내 사이트에서 예외를 처리하는 가장 좋은 방법은 무엇입니까?

답변

1

예외를 잡으려고 할 때마다 상당한 비용이 듭니다. 이상적으로는 실제 예외에 대해서만 try-catch를 사용해야합니다. 메시지를 사용하여 (정상 워크 플로우의 일부로) 메시지를 반환하면 성능에 영향을 미칩니다 (실제로는 나쁜 습관입니다).

예 :

당신이 외부 종속성 캐치 시도해야
  • : 데이터베이스 연결, 웹 서비스, WCF를 ... 당신은 clausule를 사용하여 그것을 할 수도 있습니다.

  • 당신이 시도 - 캐치하는 당신이
    논리를 제어 할 수있는 뭔가를하지 필요성을 . 예를 들어, 사용자 이름과 암호 string.Empty (
    은 try-catch에 의존하지 않고 입력 데이터의 유효성을 검사 할 수 있습니다).

예외를 제어하거나 조치를 취하지 않으려면 예외를 처리하기 위해 상위 계층을 잡아서 보지 마십시오. 조치를 취하는 좋은 사례는 catch에 예외를 다시 던져서 finally clausule에 대한 무료 리소스입니다. 성능에 영향을 미치지 만 아직 출시되지 않은 리소스가 남아 있습니다.

큰 프로젝트에서는 예외 관리 전략이 중요합니다. 간단한 응용 프로그램에서 큰 문제가 될 수는 없지만 엄청난 부하를받는다면 예외 처리의 책임자를 누가주의해야하는지 생각해야합니다.