try y manejo de errores en python

Cuando sucede un problema que tal vez no lo esperamos debido a que el usuario puede ingresar otro tipo de información, se utiliza el try, así mismo con la palabra reservada raise puedes personalizar tus propios errores:


def area_tri(base, altura):
    if base <=0 or altura <=0:
        raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo
        return (base*altura)/0

Salida por consola:
 area_tri(-1,9)
Traceback (most recent call last):

  File "<ipython-input-2-38fe634892d5>", line 1, in <module>
    area_tri(-1,9)

  File "<ipython-input-1-a4c6311ebd55>", line 3, in area_tri
    raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo

ValueError: Debes ingresar valores mayores a cero

En este caso el usuario ingresó valores negativos o menores a 0 y el mensaje personalizado fue: Debes ingresar valores mayores a cero




try:
base = float(input('Base: '))
altura = float(input ('Altura: '))
area = area_tri(base,altura)

except ValueError as e1:#el value error se ejecuta para decir que tipo de error es
print(f'Existe un error de tipo\n"{e1}"')
except ZeroDivisionError as e2:
print(f'Existe un error de tipo\n"{e2}"')

else: #se ejecuta cuando el tri esta bien

print(f'El área del triangulo es: {area}')
finally: #se ejecuta con el error o sin el error
print('Se ha terminando el programa')

Comentarios

Entradas más populares de este blog

Enumerate

args y kwargs en Python (argumentos)

Módulos en Python