Module (28%)
Section (92%)

Диагностика проблем потока: продолжение

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

К счастью, есть функция, которая может значительно упростить код обработки ошибок. Ее имя - strerror(), она находится в модуле os и принимает только один аргумент - номер ошибки.

Ее роль проста: Вы даете номер ошибки и получаете строку, описывающую значение ошибки.

Примечание. Если Вы передадите несуществующий код ошибки (число, которое не связано с какой-либо действительной ошибкой), функция вызовет исключение ValueError.

Теперь мы можем упростить наш код следующим образом:

from os import strerror try: s = open("c:/users/user/Desktop/file.txt", "rt") # Actual processing goes here. s.close() except Exception as exc: print("The file could not be opened:", strerror(exc.errno))

Хорошо. Теперь пришло время разобраться с текстовыми файлами и ознакомиться с некоторыми основными приемами, которые Вы можете использовать для их обработки.



Code

import errno

try:
s = open("c:/users/user/Desktop/file.txt", "rt")
# Actual processing goes here.
s.close()
except Exception as exc:
if exc.errno == errno.ENOENT:
print("The file doesn't exist.")
elif exc.errno == errno.EMFILE:
print("You've opened too many files.")
else:
print("The error number is:", exc.errno)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×