Diferència entre revisions de la pàgina «Try-except a Python»

De binefa.com
Salta a la navegació Salta a la cerca
Línia 10: Línia 10:
  
 
1. ''''''''try'''''''': Defineix el bloc de codi on s'executa la lògica principal que és susceptible de generar una interrupció o ''runtime error''.
 
1. ''''''''try'''''''': Defineix el bloc de codi on s'executa la lògica principal que és susceptible de generar una interrupció o ''runtime error''.
 
  
 
2. ''''''''except'''''''': Actua com un controlador d'esdeveniments. Es poden definir múltiples blocs '''''except''''' per especialitzar la resposta segons la naturalesa de l'error (per exemple, errors aritmètics o de tipus de dada).
 
2. ''''''''except'''''''': Actua com un controlador d'esdeveniments. Es poden definir múltiples blocs '''''except''''' per especialitzar la resposta segons la naturalesa de l'error (per exemple, errors aritmètics o de tipus de dada).
 
  
 
3. ''''''''Exception'''''''': Representa la classe base de la jerarquia d'errors en Python. Capturar '''''Exception''''' permet gestionar qualsevol anomalia no especificada prèviament.
 
3. ''''''''Exception'''''''': Representa la classe base de la jerarquia d'errors en Python. Capturar '''''Exception''''' permet gestionar qualsevol anomalia no especificada prèviament.

Revisió del 11:32, 6 feb 2026


La Gestió d'Excepcions mitjançant el bloc try-except a Python

En l'àmbit de l'enginyeria de programari, la robustesa d'una aplicació depèn directament de la seva capacitat per gestionar situacions anòmales durant l'execució. Python, com a llenguatge d'alt nivell, implementa un mecanisme estructurat denominat gestió d'excepcions. A diferència del llenguatge C, on el flux d'errors sovint es gestiona mitjançant valors de retorn o validacions manuals, Python permet interceptar l'error abans que provoqui el tancament inesperat de l'intèrpret.

Fonaments de l'estructura

L'arquitectura d'aquest control es divideix en quatre components essencials:

1. '''try''': Defineix el bloc de codi on s'executa la lògica principal que és susceptible de generar una interrupció o runtime error.

2. '''except''': Actua com un controlador d'esdeveniments. Es poden definir múltiples blocs except per especialitzar la resposta segons la naturalesa de l'error (per exemple, errors aritmètics o de tipus de dada).

3. '''Exception''': Representa la classe base de la jerarquia d'errors en Python. Capturar Exception permet gestionar qualsevol anomalia no especificada prèviament.

4. '''finally''': Garanteix l'execució d'un segment de codi independentment de si s'ha produït una excepció o no, essent crític per a l'alliberament de recursos.

Implementació Pràctica

L'exemple següent il·lustra la captura selectiva d'excepcions en una operació aritmètica elemental que requereix la interacció amb l'usuari:


try:
    # Intent d'execució d'operacions crítiques
    # La funció input() retorna una cadena que ha de ser convertida a enter 
    numero = int(input("Introdueix un número: "))

    # Operació susceptible de generar un ZeroDivisionError 
    resultat = 10 / numero
    print(f"El resultat és {resultat}")

except ZeroDivisionError:
    # Gestió específica per a la indeterminació matemàtica de la divisió per zero
    print("Error: No es pot dividir per zero!")

except ValueError:
    # Gestió de l'error produït quan el contingut de l'entrada no és numèric
    print("Error: Has d'introduir un número enter vàlid.")

except Exception as e:
    # Captura generalista d'errors imprevistos per evitar la propagació de l'excepció
    print(f"Ha passat un error imprevist: {e}")

finally:
    # Bloc de tancament per assegurar la integritat del final de la subrutina
    print("Final de la gestió d'errors.")