Visió i UX
Considero la depuració una fase crítica per a la seguretat i l’experiència d’usuari (UX). L’objectiu és evitar que el programa falli mitjançant la validació d’entrades.
Seguretat
Utilitzo blocs try i except com una xarxa de seguretat.
Si es detecta un error, el programa el captura i l’explica en lloc de tancar-se de cop.
Integritat
Garantir la integritat de les dades ofereix una aplicació robusta. Això manté el sistema actiu malgrat interaccions incorrectes de l’usuari.
def start_program(): print("--- Welcome to the Secure System ---") # We use a loop so the program doesn't close after one mistake while True: try: # 1. Ask for a number (Age) age = int(input("\nPlease enter your age to continue: ")) # 2. Add a logical check if age < 0 or age > 120: print("Error: That age doesn't seem real. Please try again.") continue # 3. Success message print(f"Success! Age {age} has been validated and saved.") break # Exit the loop except ValueError: # This is the 'Safety Net' that prevents crashes print("CRITICAL ERROR: You entered text or a symbol.") print("Action: System prevented a crash. Please enter a NUMBER.") print("\nThank you for using the stable version of this software.") # Run the program start_program()
Gestió d’errors d’entrada:
En aquesta imatge es pot veure la gestió d’errors en temps real.
Quan l’usuari introdueix text 'abc' en lloc d’un número,
el bloc except ValueError captura l’error. El programa no es tanca,
sinó que informa l’usuari i demana la dada de nou. Això garanteix que el
programa sigui estable davant de qualsevol interacció no prevista.
SQL Injection
Si aquestes dades anessin a una base de dades sense validar, un atacant podria introduir codi maliciós en lloc d’un número per robar informació.
Buffer Overflow
En controlar la longitud i el tipus de dada, evitem que el programa intenti processar informació que podria col·lapsar la memòria del sistema.
Sanejament
El bloc try-except actua com un filtre que “neteja” l’entrada, assegurant que només les dades segures passin a la següent fase de l’algoritme.
