本页总览
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
class gpiozero.GPIOZeroError()
基类: Exception
GPIO Zero 中所有异常的基类。
DeviceClosed
class gpiozero.DeviceClosed()
基类: GPIOZeroError
尝试对已关闭的设备执行操作时引发的错误。
BadEventHandler
class gpiozero.BadEventHandler()
基类: GPIOZeroError, ValueError
指定具有不兼容原型的事件处理程序时引发的错误。
BadWaitTime
class gpiozero.BadWaitTime()
基类: GPIOZeroError, ValueError
指定了无效等待时间时引发的错误。
BadQueueLen
class gpiozero.BadQueueLen()
基类: GPIOZeroError, ValueError
指定了非正数队列长度时引发的错误。
BadPinFactory
class gpiozero.BadPinFactory()
基类: GPIOZeroError, ImportError
指定了未知的引脚工厂名称时引发的错误。
ZombieThread
class gpiozero.ZombieThread()
基类: GPIOZeroError, RuntimeError
线程未能在给定超时时间内终止时引发的错误。
CompositeDeviceError
class gpiozero.CompositeDeviceError()
基类: GPIOZeroError
CompositeDevice 层次结构特有错误的基类。
CompositeDeviceBadName
class gpiozero.CompositeDeviceBadName()
基类: CompositeDeviceError, ValueError
使用保留名称构造复合设备时引发的错误。
CompositeDeviceBadOrder
class gpiozero.CompositeDeviceBadOrder()
基类: CompositeDeviceError, ValueError
使用不完整的顺序构造复合设备时引发的错误。
CompositeDeviceBadDevice
class gpiozero.CompositeDeviceBadDevice()
基类: CompositeDeviceError, ValueError
当使用不继承自 Device 的对象构造复合设备时引发的错误。
EnergenieSocketMissing
class gpiozero.EnergenieSocketMissing()
基类: CompositeDeviceError, ValueError
未指定插座编号时引发的错误。
EnergenieBadSocket
class gpiozero.EnergenieBadSocket()
基类: CompositeDeviceError, ValueError
向 Energenie 传递无效插座编号时引发的错误。
SPIError
class gpiozero.SPIError()
基类: GPIOZeroError
与 SPI 实现相关的错误的基类。
SPIBadArgs
class gpiozero.SPIBadArgs()
基类: SPIError, ValueError
构造 SPIDevice 时给出无效参数时引发的错误。
SPIBadChannel
class gpiozero.SPIBadChannel()
基类: SPIError, ValueError
向 AnalogInputDevice 给出无效通道时引发的错误。
SPIFixedClockMode
class gpiozero.SPIFixedClockMode()
基类: SPIError, AttributeError
SPI 时钟模式无法更改时引发的错误。
SPIInvalidClockMode
class gpiozero.SPIInvalidClockMode()
基类: SPIError, ValueError
向 SPI 实现给出无效时钟模式时引发的错误。
SPIFixedBitOrder
class gpiozero.SPIFixedBitOrder()
基类: SPIError, AttributeError
SPI 位端序无法更改时引发的错误。
SPIFixedSelect
class gpiozero.SPIFixedSelect()
基类: SPIError, AttributeError
SPI 片选极性无法更改时引发��的错误。
SPIFixedWordSize
class gpiozero.SPIFixedWordSize()
基类: SPIError, AttributeError
每字的位数无法更改时引发的错误。
SPIInvalidWordSize
class gpiozero.SPIInvalidWordSize()
基类: SPIError, ValueError
指定了无效(超出范围)的每字位数时引发的错误。
GPIODeviceError
class gpiozero.GPIODeviceError()
基类: GPIOZeroError
GPIODevice 层次结构特有错误的基类。
GPIODeviceClosed
class gpiozero.GPIODeviceClosed()
基类: GPIODeviceError, DeviceClosed
DeviceClosed 的已弃用子类。
GPIOPinInUse
class gpiozero.GPIOPinInUse()
基类: GPIODeviceError
尝试使用另一个设备已使用的引脚时引发的错误。
GPIOPinMissing
class gpiozero.GPIOPinMissing()
基类: GPIODeviceError, ValueError
未给出引脚规范时引发的错误。
InputDeviceError
class gpiozero.InputDeviceError()
基类: GPIODeviceError
InputDevice 层次结构特有错误的基类。
OutputDeviceError
class gpiozero.OutputDeviceError()
基类: GPIODeviceError
OutputDevice 层次结构特有错误的基类。
OutputDeviceBadValue
class gpiozero.OutputDeviceBadValue()
基类: OutputDeviceError, ValueError
将 value 设置为无效值时引发的错误。
PinError
class gpiozero.PinError()
基类: GPIOZeroError
与引脚实现相关的错误的基类。
PinInvalidFunction
class gpiozero.PinInvalidFunction()
基类: PinError, ValueError
尝试将引脚的功能更改为无效值时引发的错误。
PinInvalidState
class gpiozero.PinInvalidState()
基类: PinError, ValueError
尝试为引脚分配无效状态时引发的错误。
PinInvalidPull
class gpiozero.PinInvalidPull()
基类: PinError, ValueError
尝试为引脚分配无效的上拉电阻时引发的错误。
PinInvalidEdges
class gpiozero.PinInvalidEdges()
基类: PinError, ValueError
尝试为引脚分配无效的边缘检测时引发的错误。
PinInvalidBounce
class gpiozero.PinInvalidBounce()
基类: PinError, ValueError
尝试为引脚分配无效的防抖时间时引发的错误。
PinSetInput
class gpiozero.PinSetInput()
基类: PinError, AttributeError
尝试设置只读引脚时引发的错误。
PinFixedPull
class gpiozero.PinFixedPull()
基类: PinError, AttributeError
尝试设置具有固定上拉电阻的引脚的上拉电阻时引发的错误。
PinEdgeDetectUnsupported
class gpiozero.PinEdgeDetectUnsupported()
基类: PinError, AttributeError
尝试在不支持的引脚上使用边缘检测时引发的错误。
PinUnsupported
class gpiozero.PinUnsupported()
基类: PinError, NotImplementedError
尝试在不支持的引脚上获取引脚接口时引发的错误。
PinSPIUnsupported
class gpiozero.PinSPIUnsupported()
基类: PinError, NotImplementedError
尝试在不支持的引脚上获取 SPI 接口时引发的错误。
PinPWMError
class gpiozero.PinPWMError()
基类: PinError
与 PWM 实现相关的错误的基类。
PinPWMUnsupported
class gpiozero.PinPWMUnsupported()
基类: PinPWMError, AttributeError
尝试在不支持的引脚上激活 PWM 时引发的错误。
PinPWMFixedValue
class gpiozero.PinPWMFixedValue()
基类: PinPWMError, AttributeError
尝试在输入引脚上初始化 PWM 时引发的错误。
PinUnknownPi
class gpiozero.PinUnknownPi()
基类: PinError, RuntimeError
当 gpiozero 无法识别树莓派的修订版本时引发的错误。
PinMultiplePins
class gpiozero.PinMultiplePins()
基类: PinError, RuntimeError
多个引脚支持请求的功能时引发的错误。
PinNoPins
class gpiozero.PinNoPins()
基类: PinError, RuntimeError
没有引脚支持请求的功能时引发的错误。
PinInvalidPin
class gpiozero.PinInvalidPin()
基类: PinError, ValueError
提供了无效的引脚规范时引发的错误。
警告
GPIOZeroWarning
class gpiozero.GPIOZeroWarning()
基类: Warning
GPIO Zero 中所有警告的基类。
DistanceSensorNoEcho
class gpiozero.DistanceSensorNoEcho()
基类: GPIOZeroWarning
当距离传感器完全没有看到回声时引发的警告。
SPIWarning
class gpiozero.SPIWarning()
基类: GPIOZeroWarning
与 SPI 实现相关的警告的基类。
SPISoftwareFallback
class gpiozero.SPISoftwareFallback()
基类: SPIWarning
当回退到 SPI 软件实现时引发的警告。
PinWarning
class gpiozero.PinWarning()
基类: GPIOZeroWarning
与引脚实现相关的警告的基类。
PinFactoryFallback
class gpiozero.PinFactoryFallback()
基类: PinWarning
当默认引脚工厂加载失败并尝试回退时引发的警告。
PinNonPhysical
class gpiozero.PinNonPhysical()
基类: PinWarning
在构造函数中指定非物理引脚时引发的警告。
ThresholdOutOfRange
class gpiozero.ThresholdOutOfRange()
基类: GPIOZeroWarning
阈值超出最小值和最大值指定的范围时引发的警告。
CallbackSetToNone
class gpiozero.CallbackSetToNone()
基类: GPIOZeroWarning
当回调被设置为 None 而其先前值也为 None 时引发的警告。
中文翻译版以英文版相同知识授权方式共享:BSD-3-Clause。交流 Q群:498908352