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

3 投票
1 回答
2022 浏览
提问于 2025-04-16 23:18

我正在写一些Python代码,这段代码使用一个库来通过USB与外部硬件进行通信。当这个硬件库无法连接到设备时,它会返回False;如果连接成功,则返回True。

我想检查这个返回值,并用它来触发一个异常,这样做会更符合Python的风格。那么,抛出哪种类型的异常比较合适呢?

1 个回答

5

这是一个 IOError。根据文档的说明:

当进行输入输出操作(比如打印语句、内置的 open() 函数或者文件对象的方法)时,如果因为与输入输出相关的原因导致操作失败,就会引发这个错误,比如“找不到文件”或者“磁盘已满”。

你可能想把这个错误放在你自己定义的异常中,比如:

 class ExternalDeviceNotFound(IOError): pass

然后抛出这个异常。这样调用这个代码的部分就有更多的选择来处理这个错误。

撰写回答