IOException для полного диска или из пространства

Переменные в текущей области видимости модулей видны повсюду в модуле - это правило также справедливо для модуля __main__.

Из учебника Гвидо :

В любой момент во время выполнения есть по крайней мере три вложенных области действия, пространства имен которых доступны напрямую:

  • самая внутренняя область, в которой выполняется поиск в первую очередь, содержит локальные имена
  • , области действия любых включающих функций, поиск которых начинается с ближайшей охватывающей области, содержит нелокальные, но также и неглобальные имена
  • следующая за последней область содержит глобальные имена текущего модуля
  • самая дальняя область (последний поиск) - это пространство имен, содержащее встроенные имена

11
задан Sheepy 20 July 2016 в 13:15
поделиться

2 ответа

Формулировка фактически является системным сообщением, а не сообщением JRE. (Совместимость с POSIX вернет "Недостаточно места")

Таким образом, лучше всего получить список сообщений об ошибках системы для целевой ОС.

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

Из apache commons IO:

FileSystemUtils.freeSpaceKb(String path);

вернет свободное место на диске / томе (или, возможно, даже вызовет исключение IOException!)

9
ответ дан 3 December 2019 в 09:42
поделиться

Относительно того, почему не существует подкласса IOException , я подозреваю, что Вызов файла операционной системы не дает достаточно информации в достаточном количестве случаев, чтобы Java могла определить, в чем заключается ошибка, без анализа сообщения об ошибке (в лучшем случае очень хрупкая операция). Вероятно, это справедливо для ряда вызовов io.

2
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: