나는 WPF 응용 프로그램에서 처리되지 않은 예외를 표시하려면 다음 코드를 사용하고 있습니다 :WPF 응용 프로그램의 인스턴스화 중에 throw 된 예외를 처리하는 방법?
public MyApplication() {
this.DispatcherUnhandledException += (o, e) => {
var exceptionMessage = new ExceptionWindow();
exceptionMessage.ExceptionMessage.Text = e.Exception.Message;
exceptionMessage.ExceptionCallStack.Text = e.Exception.StackTrace;
exceptionMessage.ExceptionInnerException.Text = e.Exception.InnerException.Message;
exceptionMessage.WindowStartupLocation = WindowStartupLocation.CenterScreen;
exceptionMessage.WindowStyle = WindowStyle.ToolWindow;
exceptionMessage.ShowDialog();
e.Handled = true;
Shell.Close();
};
}
내가 응용 프로그램의 인스턴스화하는 동안 예외가 있음을 밝혀, 그래서 응용 프로그램 생성자가 실행되지 않습니다.
다른 예외와 달리 간단한 방법은 앱의 구성 파일에 태그 앞에 "<"을 추가하여 실행하는 것입니다.
응용 프로그램 생성자가 호출되기 전에 나타나는 쓸모없는 오류 메시지입니다. alt text http://srtsolutions.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mikewoelmer/ExceptionWPF1_5F00_1C1F39AA.jpg
아무도 이러한 종류의 예외를 잡는 방법을 알고 있습니까?
비고 : Caliburn을 사용 중이며 신청서가 CaliburnApplication을 확장했습니다.
호기심에서 벗어나서 왜 예외를 잡으시겠습니까? 프로그램이 유효하지 않기 때문에 정상적으로 처리 할 수 없습니다. –
내 진짜 문제는 설정 파일의 섹션이 없어서 FirebirdSql.Data.FirebirdClient.dll에서 예외입니다. 나는 이미이 문제를 해결했지만, 예외를 식별하는 것은 쉬운 일이 아니었다. 왜냐하면 그것은 dev 시스템에서 발생하지 않기 때문이다. 난 다른 예외가 충분히 예외적 인 세부 사항을주지 않으면 서 이런 식으로 던지지 않도록하고 싶다. –