Какие исключения будут возникать в отношении перемещения каталогов и проблем с разрешениями? - PullRequest
1 голос
/ 13 июля 2011

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

directory.move()

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

Мой вопрос: какое исключение возникает, если:
1. папка не существует? Я думаю, что это FilenotfoundException
2. если права не были установлены (не может получить доступ к папке). Это исключение ввода-вывода? или DirectoryNotFoundException? Или просто исключение?

Спасибо!

1 Ответ

2 голосов
/ 13 июля 2011

Быстрый ответ

  1. Если вы попытаетесь переместить каталог, который не существует, или создадите файл в каталоге, который не существует, вы получите DirectoryNotFoundException.

  2. Если у вызывающей стороны нет разрешений или вы пытаетесь создать файл по пути, доступному только для чтения, вы получите UnauthorizedAccessException.

Научите кого-то ловить рыбу ...

Вы можете найти эту информацию через

Документация

См. Заголовок Исключения для каждого из методов, которые вы пытаетесь использовать.

Экспериментирование

  1. Чтобы увидеть, что происходит, когда каталог не существует, попробуйте переместить, создать или изменить файлы в C:\hsdfkl или \\yourserver\hsdfkl. Примечание: я выбрал это имя каталога случайно, так как оно вряд ли существует; если hsdfkl действительно существует, попробуйте hsdfkl1.

  2. Чтобы увидеть, что происходит, когда он существует, но у вас нет прав, поскольку вы говорите, что у вас нет прав администратора, попробуйте манипулировать C:\.

...