Diferència entre revisions de la pàgina «Try-except a Python»
(Es crea la pàgina amb «---- = 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 di...».) |
|||
| Línia 16: | Línia 16: | ||
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. | ||
| + | |||
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. | 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. | ||
Revisió del 11:31, 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.")