| Per començar | Elements d'entrada | Programació CircuitPython | Recursos CITCEA | |
| Elements no electrònics | Elements de sortida | Programació Arduino | ||
| Projectes | Elements de control | Dades pràctiques | Inici |
A vegades ens pot interessar gestionar els errors per tal que no provoquin l'turada del programa. Per fer-ho tenim les instruccions try i except.
L'estructura seria la següent:
try:
# Instruccions que poden provocar algun error
except:
# Instruccions que volem que es facin en cas d'error
Anem a veure alguns exemples basats en el programa del sensor de temperatura i humitat. El programa que havíem fet servir és:
import board import time import adafruit_dht
rht = adafruit_dht.DHT22(board.D0)
while True:
print("Temperatura: ", rht.temperature, " C")
print("Humitat: ", rht.humidity, " %")
time.sleep(1)
Si no hi ha cap sensor connectat a la pota D0 el programa s'aturarà i donarà un error. Fent un petit canvi aconseguirem que no s'aturi i ens doni un avís.
import board import time import adafruit_dht
rht = adafruit_dht.DHT22(board.D0)
try:
print("Temperatura: ", rht.temperature, " C")
print("Humitat: ", rht.humidity, " %")
except:
print("Alguna cosa falla!")
time.sleep(1)
També podem fer que ens mostri els missatges d'error generats.
import board import time import adafruit_dht
rht = adafruit_dht.DHT22(board.D0)
try:
print("Temperatura: ", rht.temperature, " C")
print("Humitat: ", rht.humidity, " %")
except RuntimeError as err:
print(err)
time.sleep(1)
La variable err serà on es guardarà el missatge d'error generat.
En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.