Depuración

En un programa pueden suceder varios tipos de error, y resulta útil distinguirlos para localizarlos rápidamente:

  • Python presenta errores de sintaxis mientras traduce el código fuente en código binario. Normalmente indican que hay algo erróneo en la sintaxis del programa. Ejemplo: omitir los dos puntos al final de una sentencia def nos da el mensaje SyntaxError: invalid syntax, algo redundante.
  • El sistema de tiempo de ejecución presenta los errores en tiempo de ejecución si algo va mal mientras se ejecuta el programa. La mayoría de los mensajes de error en tiempo de ejecución incluyen información acerca de donde sucedió el error y que funciones se estaban ejecutando. Ejemplo: una recursión infinita termina por provocar un error en tiempo de ejecución del \máximum recursión depth exceeded" (superada la profundidad máxima de recursión).
  • Los errores semánticos son problemas con un programa que compila y se ejecuta pero no hace lo que se espera de el. Ejemplo: una expresión puede no evaluarse en el orden esperado, dando un resultado inesperado.

El primer paso de la depuración es averiguar con que tipo de error se enfrenta.

Aunque las secciones que siguen están organizadas por tipos de error, algunas tecnicas son aplicables en mas de una situación.

0