Ich habe das Support-Ticket erhalten, das mich (unangenehm) taub macht. Die WPF-Anwendung den folgenden Code hat temporäres Verzeichnis zu entfernen:Catch all Block fängt nicht DirectoryNotFoundException
try
{
Directory.Delete(dir, true);
}
catch
{
// ignored
}
Das Hauptfenster‘Dispatcher nicht behandelte Exception-Handler zeigt nur das Dialogfeld mit den Informationen auf Ausnahme (einschließlich dem Stack). Und hier ist sie:
System.IO.DirectoryNotFoundException: Es konnte kein Teil des Weg finden 'C: \ Users \ xxx \ AppData \ Local \ Temp \ 6 \ 86248143'. bei System.IO .__ Error.WinIOError (Int32 errorcode, String maybeFullPath)
bei System.IO.Directory.Delete (String fullPath, String userPath, Boolesche rekursiven, Boolean checkHost) bei Aufruf der Methode Directory.Delete
Kann mir jemand darauf hinweisen, warum die Ausnahme nicht in den Fang aller Block gefangen wurde?
Verwenden Sie Visual Studio? – GBursali
Das Problem im Release-Modus und passiert nur beim Kunden vor Ort - die Ausnahme wird nicht in der nächsten catch-Block gefangen, sondern propagiert, bis UnhandledExceptionHandler aufgerufen wird -, wie ich es aus Logs sehen –