当外部硬件连接失败时,我应该抛出什么Python异常?

jap*_*iss 3 python hardware exception

我正在编写一些 Python 代码,它使用一个库通过 USB 与外部硬件进行通信。当硬件库无法连接到设备时,它返回 False - 否则返回 True。

我想检查这个返回并使用它来触发异常 - 更加Pythonic。最合适抛出的异常类型是什么?

Sam*_*lan 5

一个IOError。来自文档

\n\n
\n

当 I/O 操作(例如打印语句、内置 open() 函数或文件对象的方法)因 I/O 相关原因失败时引发,例如 \xe2\x80 \x9c 文件未找到\xe2\x80\x9d 或\xe2\x80\x9c 磁盘已满\xe2\x80\x9d。

\n
\n\n

您可能想将其包装在您自己的异常中,例如:

\n\n
 class ExternalDeviceNotFound(IOError): pass\n
Run Code Online (Sandbox Code Playgroud)\n\n

并提高它。这为调用代码提供了更多关于如何处理错误的选项。

\n