Używam AvalonDock 2.0, a gdy kiedykolwiek otworzę kontener dok, w trybie debugowania awarię aplikacji (działa dobrze, gdy działa bez debugowania). Mam poniższy wyjątek:Nieobsługiwane "System.ComponentModel.Win32Exception" podczas korzystania z AvalonDock 2.0
nieobsługiwany wyjątek typu „System.ComponentModel.Win32Exception” wystąpił w WindowsBase.dll
Dodatkowe informacje: Operacja zakończona pomyślnie
natknąłem to answer, które sugerują, aby odznaczyć pola z Ustawienia wyjątku. Przewodową rzeczą jest to, że zadziałało za pierwszym razem. ale już go nie ma. Próbowałem na innych komputerach, które też nie działają. wszelkie sugestie, jak to naprawić.
kod Avalon (wyjątek rzucony na linii 5)
protected override IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) {
if (msg == Win32Helper.WM_WINDOWPOSCHANGING) {
if (_internalHost_ContentRendered) {
// the below line throw the exception
Win32Helper.SetWindowPos(_internalHwndSource.Handle, Win32Helper.HWND_TOP, 0, 0, 0, 0, Win32Helper.SetWindowPosFlags.IgnoreMove | Win32Helper.SetWindowPosFlags.IgnoreResize);
}
}
return base.WndProc(hwnd, msg, wParam, lParam, ref handled);
}
To jest po prostu kośćca kodowanie ze strony projektanta biblioteki. Oni rzucają wyjątek Win32Exception z kodem błędu, który wskazuje na sukces, prawdopodobnie "ERROR_SUCCESS". Konstruktor wyjątków tłumaczy ten kod błędu na komunikat, który jest * "Operacja zakończona pomyślnie" * - tj. Nie wystąpił błąd. Złóż raport o błędzie z opiekunami biblioteki. –
@CodyGray tak, to prawda, ale czy istnieje sposób, aby przestać wychwycić wyjątek ze strony aplikacji. zgodnie z odpowiedzią, którą przytoczyłem w moim pytaniu. rozwiązanie działało na początku, ale już nie jest. i nie mogłem zrozumieć dlaczego. – IBRA
Opublikowany tutaj komunikat o wyjątku nie oznacza, że jest to wyjątek pierwszej szansy. Jest również mało prawdopodobne, że i tak to rozwiąże problem. Wymagałoby to, aby w kodzie biblioteki znajdował się blok przechwytywania, który wychwycił wyjątek i obsłużył go. Nie jestem pewien, co zrobić, aby obsłużyć wyjątek, który wskazuje na sukces. –