25. API - Exceptions
The following exceptions are defined by GPIO Zero. Please note that multiple inheritance is heavily used in the exception hierarchy to make testing for exceptions easier. For example, to capture any exception generated by GPIO Zero’s code:
from gpiozero import *
led = PWMLED(17)
try:
led.value = 2
except GPIOZeroError:
print('A GPIO Zero error occurred')
Since all GPIO Zero’s exceptions descend from GPIOZeroError, this will
work. However, certain specific errors have multiple parents. For example, in
the case that an out of range value is passed to OutputDevice.value you
would expect a ValueError to be raised. In fact, a
OutputDeviceBadValue error will be raised. However, note that this
descends from both GPIOZeroError (indirectly) and from ValueError
so you can still do the obvious:
from gpiozero import *
led = PWMLED(17)
try:
led.value = 2
except ValueError:
print('Bad value specified')
25.1. Errors
- exception gpiozero.GPIOZeroError[source]
Bases:
ExceptionBase class for all exceptions in GPIO Zero
- exception gpiozero.DeviceClosed[source]
Bases:
GPIOZeroErrorError raised when an operation is attempted on a closed device
- exception gpiozero.BadEventHandler[source]
Bases:
GPIOZeroError,ValueErrorError raised when an event handler with an incompatible prototype is specified
- exception gpiozero.BadWaitTime[source]
Bases:
GPIOZeroError,ValueErrorError raised when an invalid wait time is specified
- exception gpiozero.BadQueueLen[source]
Bases:
GPIOZeroError,ValueErrorError raised when non-positive queue length is specified
- exception gpiozero.BadPinFactory[source]
Bases:
GPIOZeroError,ImportErrorError raised when an unknown pin factory name is specified
- exception gpiozero.ZombieThread[source]
Bases:
GPIOZeroError,RuntimeErrorError raised when a thread fails to die within a given timeout
- exception gpiozero.CompositeDeviceError[source]
Bases:
GPIOZeroErrorBase class for errors specific to the CompositeDevice hierarchy
- exception gpiozero.CompositeDeviceBadName[source]
Bases:
CompositeDeviceError,ValueErrorError raised when a composite device is constructed with a reserved name
- exception gpiozero.CompositeDeviceBadOrder[source]
Bases:
CompositeDeviceError,ValueErrorError raised when a composite device is constructed with an incomplete order
- exception gpiozero.CompositeDeviceBadDevice[source]
Bases:
CompositeDeviceError,ValueErrorError raised when a composite device is constructed with an object that doesn’t inherit from
Device
- exception gpiozero.EnergenieSocketMissing[source]
Bases:
CompositeDeviceError,ValueErrorError raised when socket number is not specified
- exception gpiozero.EnergenieBadSocket[source]
Bases:
CompositeDeviceError,ValueErrorError raised when an invalid socket number is passed to
Energenie
- exception gpiozero.SPIError[source]
Bases:
GPIOZeroErrorBase class for errors related to the SPI implementation
- exception gpiozero.SPIBadArgs[source]
Bases:
SPIError,ValueErrorError raised when invalid arguments are given while constructing
SPIDevice
- exception gpiozero.SPIBadChannel[source]
Bases:
SPIError,ValueErrorError raised when an invalid channel is given to an
AnalogInputDevice
- exception gpiozero.SPIFixedClockMode[source]
Bases:
SPIError,AttributeErrorError raised when the SPI clock mode cannot be changed
- exception gpiozero.SPIInvalidClockMode[source]
Bases:
SPIError,ValueErrorError raised when an invalid clock mode is given to an SPI implementation
- exception gpiozero.SPIFixedBitOrder[source]
Bases:
SPIError,AttributeErrorError raised when the SPI bit-endianness cannot be changed
- exception gpiozero.SPIFixedSelect[source]
Bases:
SPIError,AttributeErrorError raised when the SPI select polarity cannot be changed
- exception gpiozero.SPIFixedWordSize[source]
Bases:
SPIError,AttributeErrorError raised when the number of bits per word cannot be changed
- exception gpiozero.SPIInvalidWordSize[source]
Bases:
SPIError,ValueErrorError raised when an invalid (out of range) number of bits per word is specified
- exception gpiozero.GPIODeviceError[source]
Bases:
GPIOZeroErrorBase class for errors specific to the GPIODevice hierarchy
- exception gpiozero.GPIODeviceClosed[source]
Bases:
GPIODeviceError,DeviceClosedDeprecated descendent of
DeviceClosed
- exception gpiozero.GPIOPinInUse[source]
Bases:
GPIODeviceErrorError raised when attempting to use a pin already in use by another device
- exception gpiozero.GPIOPinMissing[source]
Bases:
GPIODeviceError,ValueErrorError raised when a pin specification is not given
- exception gpiozero.InputDeviceError[source]
Bases:
GPIODeviceErrorBase class for errors specific to the InputDevice hierarchy
- exception gpiozero.OutputDeviceError[source]
Bases:
GPIODeviceErrorBase class for errors specified to the OutputDevice hierarchy
- exception gpiozero.OutputDeviceBadValue[source]
Bases:
OutputDeviceError,ValueErrorError raised when
valueis set to an invalid value
- exception gpiozero.PinError[source]
Bases:
GPIOZeroErrorBase class for errors related to pin implementations
- exception gpiozero.PinInvalidFunction[source]
Bases:
PinError,ValueErrorError raised when attempting to change the function of a pin to an invalid value
- exception gpiozero.PinInvalidState[source]
Bases:
PinError,ValueErrorError raised when attempting to assign an invalid state to a pin
- exception gpiozero.PinInvalidPull[source]
Bases:
PinError,ValueErrorError raised when attempting to assign an invalid pull-up to a pin
- exception gpiozero.PinInvalidEdges[source]
Bases:
PinError,ValueErrorError raised when attempting to assign an invalid edge detection to a pin
- exception gpiozero.PinInvalidBounce[source]
Bases:
PinError,ValueErrorError raised when attempting to assign an invalid bounce time to a pin
- exception gpiozero.PinSetInput[source]
Bases:
PinError,AttributeErrorError raised when attempting to set a read-only pin
- exception gpiozero.PinFixedPull[source]
Bases:
PinError,AttributeErrorError raised when attempting to set the pull of a pin with fixed pull-up
- exception gpiozero.PinEdgeDetectUnsupported[source]
Bases:
PinError,AttributeErrorError raised when attempting to use edge detection on unsupported pins
- exception gpiozero.PinUnsupported[source]
Bases:
PinError,NotImplementedErrorError raised when attempting to obtain a pin interface on unsupported pins
- exception gpiozero.PinSPIUnsupported[source]
Bases:
PinError,NotImplementedErrorError raised when attempting to obtain an SPI interface on unsupported pins
- exception gpiozero.PinPWMError[source]
Bases:
PinErrorBase class for errors related to PWM implementations
- exception gpiozero.PinPWMUnsupported[source]
Bases:
PinPWMError,AttributeErrorError raised when attempting to activate PWM on unsupported pins
- exception gpiozero.PinPWMFixedValue[source]
Bases:
PinPWMError,AttributeErrorError raised when attempting to initialize PWM on an input pin
- exception gpiozero.PinUnknownPi[source]
Bases:
PinError,RuntimeErrorError raised when gpiozero doesn’t recognize a revision of the Pi
- exception gpiozero.PinMultiplePins[source]
Bases:
PinError,RuntimeErrorError raised when multiple pins support the requested function
- exception gpiozero.PinNoPins[source]
Bases:
PinError,RuntimeErrorError raised when no pins support the requested function
- exception gpiozero.PinInvalidPin[source]
Bases:
PinError,ValueErrorError raised when an invalid pin specification is provided
25.2. Warnings
- exception gpiozero.DistanceSensorNoEcho[source]
Bases:
GPIOZeroWarningWarning raised when the distance sensor sees no echo at all
- exception gpiozero.SPIWarning[source]
Bases:
GPIOZeroWarningBase class for warnings related to the SPI implementation
- exception gpiozero.SPISoftwareFallback[source]
Bases:
SPIWarningWarning raised when falling back to the SPI software implementation
- exception gpiozero.PinWarning[source]
Bases:
GPIOZeroWarningBase class for warnings related to pin implementations
- exception gpiozero.PinFactoryFallback[source]
Bases:
PinWarningWarning raised when a default pin factory fails to load and a fallback is tried
- exception gpiozero.PinNonPhysical[source]
Bases:
PinWarningWarning raised when a non-physical pin is specified in a constructor
- exception gpiozero.ThresholdOutOfRange[source]
Bases:
GPIOZeroWarningWarning raised when a threshold is out of range specified by min and max values
- exception gpiozero.CallbackSetToNone[source]
Bases:
GPIOZeroWarningWarning raised when a callback is set to None when its previous value was None