Я думаю, что «исключение» - это термин языка Python для того, что вы называете «ошибкой».Поэтому используйте этот термин при поиске дополнительной информации.
Возможно, вам будет полезно прочитать документацию Стандартной библиотеки Python, «6. Встроенные исключения» .
OSError
является одним из встроенных исключений.Он определен в разделе «Встроенные исключения», в котором добавлено: «Атрибут errno
представляет собой числовой код ошибки от errno, а атрибут strerror
представляет собой соответствующую строку, как было бы напечатано функцией C * 1012.*. См. Модуль errno
, который содержит имена для кодов ошибок, определенных базовой операционной системой. "
Запуск этого кода:
raise OSError(42, "my exception string", "no_such_file.dat")
даетмне этот результат:
Traceback (most recent call last):
Line 1, in <module>
raise OSError(42, "my exception string", "no_such_file.dat")
OSError: [Errno 42] my exception string: 'no_such_file.dat'
Итак, я думаю, что ваш код может сделать что-то вроде:
raise OSError(2, "No such file or directory", filename)