2010-01-29 5 views
1

내가 비주얼 스튜디오 2비주얼 스튜디오 2010 베타 2는 지난 예외

내가 내 예외 처리 코드를 테스트 할 2010 베타 WCF 서비스를 호출하는 윈도우 폼 클라이언트를 디버깅하고있어 계속, 그래서 의도적으로 내가하지 않습니다 내 끝점을 잘못 구성했습니다. app.config. 예상 된 ConfigurationErrorsException이 발생합니다. 그러나 Visual Studio 2010은 Throw 또는 User-unhandled 예외를 위반하지 않도록 설정 한 경우에도 문제가되는 코드 줄에서 중지됩니다.

디버깅하지 않고 시작하려고하면 디버깅 옵션과 함께 "내 프로그램이 작동하지 않음"대화 상자가 나타납니다. 디버깅을 선택하면 예외가 발견 된 곳으로 되돌아갑니다.

나는 과거를 얻을 수없는 라인입니다 : 내가 대신 클라이언트에 제로 곳으로 나누기를하고 (또는 그냥 일반 예외를 throw)에 의해 오류를 시뮬레이션 할 경우

MySvc.MyServiceClient svc = new MySvc.MyServiceClient(); 

는, 디버거로 동작 나는 나의 오류 처리 코드를 예상하고 입력 할 것이다.

테이크 어웨이는 app.config이 잘못 구성된 경우 실제로 예외를 처리 할 수 ​​없다는 것입니다. 내가 여기서 뭔가를 놓치고 있니?

UPDATE :

나는 시도하고이를 잡으려고 응용 프로그램 ThreadException 이벤트 핸들링 오전 :

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); 

답변

1

Ctrl 키 + D는 E는 VS 예외 처리 옵션을 구성 할 수 있도록해야합니다. "공용 언어 런타임 예외"의 선택을 취소하면 코드가 모든 예외를 처리합니다. (포스터에 의해)

편집

주석은 올바른 솔루션을 제공합니다.

은 아마도 예외는 WCF 프록시에 비동기 호출을 통해 어떻게 든 다른 스레드에서 무슨 일이 일어나고? Application.UnhandledException 및 AppDomain.CurrentDomain.UnhandledException 이벤트를 연결하고 사용자가 범인을 잡을 수 있는지 확인하십시오.

+0

나는 이미 "Throw 또는 User-unhandled 예외 중 하나를 위반하지 않도록 설정 했어도" –

+0

아마도 WCF 프록시에서 비동기 호출을 통해 다른 스레드에서 예외가 발생하고있을 가능성이 있습니까? Application.UnhandledException 및 AppDomain.CurrentDomain.UnhandledException 이벤트를 후크하여 그들이 범인을 잡았는지 확인하십시오. –

+0

그랬어! 흥미롭게도 MSDN UnhandledExceptionEventArgs 항목은 http://msdn.microsoft.com/en-us/library/system.unhandledexceptioneventargs.exceptionobject.aspx는 전혀 쓸모가 없지만 커뮤니티의 SO에게 지적한 누군가는 큰 설명을하고 있습니다. –

관련 문제