El manejo de excepciones en Python permite gestionar situaciones excepcionales que pueden surgir durante la ejecución del programa. Esto ayuda a evitar que el programa se detenga abruptamente y proporciona la oportunidad de manejar los errores de manera controlada.
Estructura Básica de try y except:
try:
# Código que puede generar una excepción
resultado = 10 / 0
except ZeroDivisionError:
# Manejo específico para la excepción ZeroDivisionError
print("¡Error! División por cero.")
except Exception as e:
# Manejo general de excepciones
print(f"¡Error! {e}")
else:
# Se ejecuta si no hay excepciones
print("La operación se realizó con éxito.")
finally:
# Se ejecuta siempre, independientemente de si hubo excepciones o no
print("Finalizando el bloque try-except.")
Uso Práctico:
1. División por Cero:
def division_segura(dividendo, divisor):
try:
resultado = dividendo / divisor
except ZeroDivisionError:
print("¡Error! División por cero.")
resultado = None
return resultado
# Uso de la función
resultado = division_segura(10, 0)
print(resultado) # Resultado: None
2. Conversión de Tipo de Datos:
def convertir_a_entero(valor):
try:
entero = int(valor)
except ValueError:
print("¡Error! No se pudo convertir a entero.")
entero = None
return entero
# Uso de la función
numero_entero = convertir_a_entero("abc")
print(numero_entero) # Resultado: None
3. Lectura de Archivo:
def leer_archivo(nombre_archivo):
try:
with open(nombre_archivo, 'r') as archivo:
contenido = archivo.read()
except FileNotFoundError:
print(f"¡Error! El archivo '{nombre_archivo}' no existe.")
contenido = None
except Exception as e:
print(f"¡Error! {e}")
contenido = None
return contenido
# Uso de la función
contenido_archivo = leer_archivo("archivo_no_existente.txt")
print(contenido_archivo) # Resultado: None