Python - excepciones

Las excepciones son un mecanismo que provee Python para manejar errores o situaciones inesperadas que se producen durante la ejecución de los programas. Mediante este mecanismo, el curso de ejecución del programa se interrumpe cuando ocurre un error y una excepción es “levantada” (raised). El control pasa entonces a otro bloque de instrucciones, el cual se encarga de manejar el error.

Las sentencias try y except

Las sentencias try y except son las que implementan el manejo de excepciones en Python. En el bloque try se coloca el código que puede ocasionar que se levante la excepción y en el bloque except se ubica el código que maneja la excepción.

La estructura básica es la siguiente:

try:
    <bloque de sentencias que puede generar un error>
except:
    <bloque de sentencias que maneja el error>

Por ejemplo, un llamado a la función float() puede ocasionar un error si la hilera de entrada no corresponde a un número entero.

x = float("8,5")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_2999598/2988467274.py in <module>
----> 1 x = float("8,5")

ValueError: could not convert string to float: '8,5'
try:
    x = float("8,5")
except:
    print("Por favor utilice un número")

El siguiente ejemplo maneja el mismo error, que puede generarse por una entrada errónea por parte del usuario.

fahr_hilera = input('Ingrese la temperatura en grados Fahrenheit: ')
try:
    fahr = float(fahr_hilera)
    celsius = (fahr - 32.0) * 5.0 / 9.0
    print("El equivalente el grados Celsius es: ", celsius)
except:
    print('Por favor ingrese un número.')

Ejercicio

Reescriba el programa que calcula el IMC y maneje las excepciones que puedan producirse.