Какое исключение Python я должен выбросить, если не удается подключиться к внешнему оборудованию? - PullRequest
1 голос
/ 10 августа 2011

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

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

1 Ответ

3 голосов
/ 10 августа 2011

An IOError.Из документов :

Возникает при сбое операции ввода-вывода (такой как оператор печати, встроенная функция open () или метод объекта файла)по причинам, связанным с вводом / выводом, например, «файл не найден» или «диск заполнен».

Вы можете заключить это в собственное исключение, например:

 class ExternalDeviceNotFound(IOError): pass

и поднять это вместо.Это дает вызывающему коду больше возможностей для обработки ошибки.

...