Creació de jocs amb PyBadge

Programació Dades pràctiques     Recursos CITCEA
Tutorial Exemples Projectes   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

Imaginem que tenim un sensor de temperatura i humitat connectat a D0. El programa bàsic, sense contemplar errors, é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.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.