Избегайте исключения System.Runtime.InteropServices.COME, обнаруживая системную папку перед записью файла - PullRequest
1 голос
/ 26 ноября 2010

У меня есть приложение vb .net, где пользователь может выбрать каталог, в который записан файл Excel.Если пользователь выбирает системный каталог (да, мои пользователи делают это, не спрашивайте меня, почему), тогда исключение System.Runtime.InteropServices.COMException генерируется во время выполнения.

Я обрабатываю это исключение, сообщая пользователю, пожалуйста, выберите другой каталог.

Мое приложение работает нормально, как есть, но мне бы очень хотелось узнать, как определить, находится ли каталогпозволит записать файл в него до того, как будет сгенерировано исключение.

И нет, использование System.IO.DirectoryInfo не помогает ... или, возможно, делает, но я просто недостаточно хорош.

Спасибо!

1 Ответ

0 голосов
/ 26 ноября 2010

Попытка создать фиктивный файл в папке назначения, который в случае успеха вы затем удаляете - и если (создание) не удается, высоки шансы, что вы не сможете сохранить свой файл .xls (x) там!Уверен, что DirectoryInfo разрешит обнаружение системных файлов / папок, однако уловка фиктивного файла - это дешевый способ проверки разрешений для любой папки.

...