Tecnologia vestible

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

Gestió d'errors

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.

 

 

 

 

 

 

 

 

 

 

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