2012-04-25 7 views
2

내 WPF 응용 프로그램에서 일부 사용자가 "응용 프로그램이 처리 할 수없는 예외를 생성했습니다"오류가 발생합니다. Application.DispatcherUnhandledException 이벤트 처리기를 구현했지만 예외가이 이벤트로 처리되지 않습니다. 응용 프로그램 외부에서 예외가 발생하여 응용 프로그램이 닫히거나 메모리가있는 것일 수 있습니까? 당신이 DispatcherUnhandledException 이외에 시도 할 수wpf 처리되지 않은 예외

답변

6

한 가지는 내에서 실행이, 이론, 응용 프로그램과 관련된 모든 예외를 catch해야

AppDomain.CurrentDomain.UnhandledException += 
     new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

응용 프로그램 도메인에서 오는 예외가 아닌 사람을 수신하는 것입니다 디스패처.

2

는 일부 사용자가 오류 (및 해당 사용자가 오류를 항상 얻을)하는 경우, 그것은 그 가능성이 내 경험에서 응용 프로그램의 시작?

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 
0

에이를 추가하려고 했나 프로젝트 파일은 'CopyToLocal'속성을 true로 설정하지 않고 dll을 참조합니다. 따라서 모든 사용자가 GAC에 dll을 설치했다고 가정하면 일부 사용자에게는 적합하지 않을 수 있습니다.

0

핸들러가 호출하지만 예외가 처리되지 않은 남아있는 경우, 이벤트 처리 할 필요가있다 : e.Handled=true; 참조 : How to suppress UI exceptions in wpf?

+0

예외 처리, 내가 tomasmcguinness과 Dummy01에 의해 제안 된이 해결책으로 문제를 해결 할 생각을 – torpederos