Manejo de
excepciones con
try – except
1/12
MANEJO DE EXCEPCIONES
• Errores de ejecución
– Detienen la ejecución del programa
– Despliegan mensaje con el error
• Los errores de ejecución se les conoce como
excepciones
• Las podemos controlar para evitar que el
programa se detenga 2/12
>>> print(50 / 0)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
print(50 / 0)
ZeroDivisionError: division by zero
• Cada error ofrece esta información sobre él mismo
– Lugar en donde ocurrió
– Instrucción que causó el error
– Tipo y descripción del error
3/12
ESTATUTOS
try - except
• Permiten controlar errores de ejecución
(excepciones) y evitar que el programa
se detenga de manera abrupta
4/12
Forma básica
try:
instrucciones
except:
instrucciones para controlar los errores de ejecución
(excepciones)
• Si ocurre un error de ejecución en las instrucciones que
estan debajo del try, la ejecución pasa automáticamente
a las instrucciones del except
• Las instrucciones que pertenecen al try y al except se
indentan con respecto a ellas
5/12
Ejemplo de excepciones:
estatutos try – except
try:
n1 = float(input("Numerador: "))
n2 = float(input("Denominador: "))
resultado = n1 / n2
print("Resultado ", resultado)
except:
print("Hay algún error en la ejecución del
programa")
6/12
Forma según tipo de error
• Los errores (excepciones) tienen un tipo de error
• Con base en ello el estatuto except puede manejar los
diferentes tipos de error.
• Se ejecuta solo un except
try:
instrucciones
except tipo_de_error:
instrucciones para manejar este tipo de error
Si usamos un except sin el tipo de error, éste debe ponerse de
último
7/12
Ejemplo de manejo de excepciones:
estatuto except manejando tipos de excepcion
try:
n1=float(input("Numerador: "))
n2=float(input("Denominador: "))
resultado=n1/n2
print ("Resultado ", resultado)
except ValueError:
print ("Debe dar solo números")
except ZeroDivisionError:
print ("Intenta dividir por cero")
except:
print("Se dieron otras excepciones") 8/12
VALIDACIÓN DE DATOS
DE ENTRADA CON
try - except
• Asegurarse que los datos que recibe el
programa esten de acuerdo a las
especificaciones
• Ejemplos
9/12
Validar que un valor sea un número entero y esté en el rango de 1 a 99
while True:
try:
n=int(input("Número entero entre 1 y 99 "))
if n >= 1 and n <= 99:
break
else:
input("Dato no es válido. De <Intro> para continuar")
except:
input("Dato no es válido. De <Intro> para continuar")
10/12
Validar valores de un número: meses que tienen 31 días
while True:
try:
mes=int(input("Mes de 31 días "))
if mes in [1, 3, 5, 7, 8, 10, 12]:
break
else:
input("Dato no es válido. De <Intro> para continuar")
except:
input("Dato no es válido. De <Intro> para continuar")
11/12
Validar valores específicos de un string: código de carrera
“IC": Ingeniería en Computación
“ATI": Administración de TI
while True:
carrera = input(“Código de carrera (IC: Ingeniería en
Computación, ATI: Administración en TI): ")
if carrera in [“IC”,“ATI"]:
break
else:
input("Dato no es válido. De <Intro> para continuar ")
12/12