Lección 4, Tema 4
En progreso

5.4 Manejo de errores y excepciones

Lección Progreso
0% Completado

Es momento de hablar de forma más detallada de los errores que ocurren al correr ciertas líneas o bloques de código 

Esta sección está dividida en tres partes:

  1. Errores y excepciones.
  2. Personalización de excepciones usando raise y assert.
  3. Manejo de errores con tryexcept

Errores y excepciones

En videos anteriores, han aparecido al menos un par de ocasiones algunos errores.  En general, existen en Python dos tipos de errores:

  • los errores son ocasionados por problemas que hacen que se detenga la ejecución. Hay errores de distintos tipos. Los más comunes son errores de sintaxis y los de identación, que se originan cuando no se cumplen las reglas de escritura de los bloques de código y de la declaración de variables. Otros errores indican problemas críticos como los errores de recursión (cuando una función no deja de llamarse a sí misma) o los errores por haber excedido la memoria (errores de memoria insuficiente)
  • las excepciones, también son conocidas como errores de lógica. La diferencia es que éstos se pueden manejar para que una función o un bloque de código no se vea obligado a parar.
Antes de aprender a manejar los errores, vamos a revisar en el siguiente video algunos errores y excepciones para que cuando aparezcan en tu programa, puedas fácilmente corregirlos y prevenirlos tal como veremos más adelante.

Personalización de errores y excepciones (raise y assert)

La palabra reservada raise, se utiliza en Python para lanzar un error cuando se produce una condición determinada.

En el siguiente bloque de código, cuando la variable peso tome un valor mayor que cero, no ocurrirá nada.

En cambio si por error introducimos en la variable cero o un valor negativo, entonces obtendremos la excepción con el mensaje personalizado.

Además de raisenos podemos valer de la palabra assert para evaluar que se cumpla cierta condición. Si la condición se cumple, entonces podemos continuar con el programa; de otra manera, si la condición no se cumple, entonces obtendremos la excepción con un mensaje personalizado por ejemplo, “la variable x debe ser un entero”

AssertionError: la variable x debe ser un entero.

Manejo de excepciones con try- except

Ha llegado el momento de aprender a gestionar las excepciones usando las palabras reservadas try except.

La sintaxis básica es la siguiente:

try:
// Código
except:
// Código

 

Lo primero que se ejecuta es la sentencia try para intentar ejecutar el código que le sigue, en caso de que una excepción ocurra el código ligado a try será ignorado y en su lugar se ejecutará el código unido a la sentencia except.