API-异常
GPIO Zero 定义了以下异常。请注意,异常层次结构中大量使用了多重继承,以便更轻松地测试异常。例如,要捕获 GPIO Zero 代码生成的任何异常:
from gpiozero import *
led = PWMLED(17)
try:
led.value = 2
except GPIOZeroError:
print('A GPIO Zero error occurred')
由于所有 GPIO Zero 的异常都继承自 GPIOZeroError,因此这将起作用。但是,某些特定错误具有多个父类。例如,如果将超出范围的值传递给 OutputDevice.value,您会期望引发 ValueError。实际上,将引发 OutputDeviceBadValue 错误。但是,请注意,它既继承自 GPIOZeroError(间接),又继承自 ValueError,因此您仍然可以执行显而易见的操作:
from gpiozero import *
led = PWMLED(17)
try:
led.value = 2
except ValueError:
print('Bad value specified')
错误
GPIOZeroError
基类: Exception
GPIO Zero 中所有异常的基类。
DeviceClosed
基类: GPIOZeroError
尝试对已关闭的设备执行操作时引发的错误。
BadEventHandler
基类: GPIOZeroError, ValueError
指定具有不兼容原型的事件处理程序时引发的错误。
BadWaitTime
基类: GPIOZeroError, ValueError
指定了无效等待时间时引发的错误。
BadQueueLen
基类: GPIOZeroError, ValueError
指定了非正数队列长度时引发的错误。
BadPinFactory
基类: GPIOZeroError, ImportError
指定了未知的引脚工厂名称时引发的错误。
ZombieThread
基类: GPIOZeroError, RuntimeError
线程未能在给定超时时间内终止时引发的错误。
CompositeDeviceError
基类: GPIOZeroError
CompositeDevice 层次结构特有错误的基类。
CompositeDeviceBadName
基类: CompositeDeviceError, ValueError
使用保留名称构造复合设备时引发的错误。
CompositeDeviceBadOrder
基类: CompositeDeviceError, ValueError
使用不完整的顺序构造复合设备时引发的错误。
CompositeDeviceBadDevice
基类: CompositeDeviceError, ValueError
当使用不继承自 Device 的对象构造复合设备时引发的错误。