07.01 Python – Excepciones (try)

El manejo de errores en Python se realiza mediante el uso de bloques try, except, else y finally. Estos bloques permiten capturar y controlar errores o excepciones que pueden ocurrir durante la ejecución del código, lo que te da la oportunidad de manejarlos adecuadamente en lugar de que el programa se detenga abruptamente.

La estructura básica del manejo de errores en Python es la siguiente:

try:
    # Código que puede generar una excepción
    resultado = funcion_que_puede_lanzar_excepcion()
except TipoDeExcepcion as e:
    # Código para manejar la excepción del tipo especificado
    print("Ocurrió una excepción:", e)
else:
    # Código que se ejecuta si no se produjo ninguna excepción
    print("No se produjo ninguna excepción.")
finally:
    # Código que se ejecuta siempre, sin importar si hubo una excepción o no
    print("Terminó el manejo de errores.")
def dividir(a, b):
    try:
        resultado = a / b
    except ZeroDivisionError as e:
        print("Error: No se puede dividir entre cero.",e)
    else:
        print("El resultado es:", resultado)
    finally:
        print("Terminó el manejo de errores.")

dividir(10, 2) 
print ('***')
dividir(10, 0) 
resultado = None
a='aaa'
b=0
try:
    resultado = a/b
except ZeroDivisionError as e:
    print(f'Error de división Cero: {e}')

except TypeError as e:
    print(f'Error de Tipo: {e}')

print(f'Resultado: {resultado}’)
resultado = None
try:
    a = int(input('Primer número: '))
    b = int(input('Segundo número: '))
    resultado = a/b

except ZeroDivisionError as e:
    print(f'ZeroDivisionError - Ocurrió un error: {e} , {type(e)}’)

except TypeError as e:
    print(f'TypeError - Ocurrió un error: {e} , {type(e)}’)

except Exception as e:
    print(f'Exception - Ocurrió un error: {e} , {type(e)}’)

else:
    print('No se arrojó ninguna excepción’)

finally:
    print('Ejecución del bloque finally')

print(f'Resultado: {resultado}')
print('Continuamos...')
class MiError(Exception):
    def __init__(self,mensaje,codigo):
        super().__init__(mensaje)
        self.codigo=codigo

try:
    valor=-1
    if valor<0:
        raise MiError("El valor debe ser positivo",1001)
except MiError as e:
    print ("ERROR: ", e, e.codigo)

Related Posts