2017-02-23 39 views
0

Я получил билет поддержки, который делает меня (неудобно) оцепенелым. Приложение WPF имеет следующий код, чтобы удалить временный каталог:Поймать весь блок не улавливает DirectoryNotFoundException

try 
       { 
        Directory.Delete(dir, true); 
       } 
       catch 
       { 
        // ignored 
       } 

Главное окно»Диспетчер обработчик необработанное исключение просто показывает диалоговое окно с информацией об исключении (включая стек). И вот оно:

System.IO.DirectoryNotFoundException: Не удалось найти часть пути 'C: \ Users \ ххх \ AppData \ Local \ Temp \ 6 \ 86248143'. на System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath)
в System.IO.Directory.Delete (String FULLPATH, струнный UserPath, булевых рекурсивные, булева checkHost) в методе вызов Directory.Delete

Может кто-нибудь указать мне, почему исключение не было поймано в блоке catch?

+0

Вы используете Visual Studio? – GBursali

+0

Проблема в режиме деблокирования и происходит только на сайте клиента - исключение не попадает в ближайший блок catch, но распространяется до тех пор, пока не будет вызван UnhandledExceptionHandler, - как я вижу его из журналов –

ответ

0

Просто убедитесь, что that CheckBox не установлен. Он игнорирует блоки захвата try и «ломается, когда выбрасывается этот тип исключения» Примечание; Я думаю, это была Visual Studio.

+0

Нет, проблема не в VS во время отладки. Проблема в режиме Release и происходит только на сайте клиента - исключение не попадает в ближайший блок catch, а распространяется до тех пор, пока не будет вызван UnhandledExceptionHandler –

Смежные вопросы