Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Los errores en el código

13/21
Recursos

Aportes 77

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

El manejo de errores es muy importante y los mejores trucos como ya lo dijo Facundo son:

  1. Leer el error (Conozco programadores y hasta yo en un inicio trataba de revisar el código sin revisar el traceback)
  2. Leer el traceback de abajo hacia arriba

Dejo un artículo aquí para complementar e intentar satisfacer su apetito feroz por entender y aprender Python
Python Exceptions: An Introduction

Errores en el código
Cuando python nos avisa que tenemos un error en el código nos avienta un mensaje que conocemos como traceback, puesde ser debido a:

  • Errores de Sintaxis (SyntaxError) → escribimos mal alguna palabra clave (typo), el programa no se ejecuta.
  • Excepciones (Exeption) → Producen un colapso o interrupción de la lógica del programa en alguna línea en específico por ejemplo (todas las líneas anteriores se ejecutan), pueden ser de varios tipos, generalmente aparecen cuando no existe un componente clave en la ejecución o hay alguna imposibilidad lógica (matemática) para efectuar la instrucción, tambipen pueden generarse dentro del código o fuera de el (elevar una excepción)

Lectura de un traceback

  • La manera correcta de leer un traceback es iniciar por el final, en el caso de un error de sintaxis nos indicará en qué línea se encuentra dicho error.
  • En el caso de excepciones la última línea nos indicará el tipo de exepcion que se generó (generalmente son autoexplicativas pero si no entienedes que paso puedes buscar este error)
  • La penúltima línea nos indicará dende se encuentra el error (archivo y línea)
  • La antepenúltima línea nos muestra “most recent call last” lo que significa que la llamada más reciente es la última (el programa se cerró después de esa llamada, se genero un error)

Elevar una excepción

  • Cuando tenemos una excepción en python lo que sucede es que se crea un objeto de tipo exception que se va moviendo a través de los bloques de código hasta llegar al bloque principal si es que no se maneja dicha excepción en algún bloque intermedio el programa se interrumpe y genera el traceback

Hice un par de imágenes para mostrar cómo funciona el levantamiento de excepciones en Python, cuando estas no son controladas. El código es el siguiente:

def run():
    function1()


def function1():
    function2()


def function2():
    function3()


def function3():
    exception_code = 1 / 0
    

if __name__ == '__main__':
    
    run()

En este caso la excepción se generará en function3.
Así se ve el traceback que se genera en la consola al correr el código anterior:

Como enseña Facundo, si empezamos a leer el traceback de abajo hacia arriba nos podemos dar cuenta que efectivamente la excepción se genera en function3. Si seguimos leyendo el traceback hacia arriba nos daremos cuenta que después de menciona a function2, posteriormente a function1 y finalmente a run.

Así que si quisiéramos ver gráficamente como se elevan las excepciones, sería algo así:

Espero que sea de ayuda a alguien 😃

Con este módulo ya se evidencia lo necesario que era este curso y que definitivamente queremos más de esta “saga” como ha expuesto el gran Facundo.

Facundo! Excelente profesor, los conceptos complejos los explica de manera que uno los entiende claramente! Muy bien …

Los errores son parte de nuestra vida como programadores y hay que saber lidiar con ellos.

Errores:

  • Syntax Error -> Errores de escritura, Python no ejecuta el programa.
  • Exception -> Python se detiene en una línea en específica
    • KeyboardInterrupt -> Ctrl + C
    • KeyError -> Cuando tratamos de acceder a una llave que no existe
    • IndexError -> Cuando tratamos de acceder a un índice que no existe
    • FileNotFoundError -> Archivo que no existe
    • ZeroDivisionError -> Dividir entre 0
    • ImportError -> Intentamos importar un módulo que tiene un error

Estos son solo algunos ejemplos, hay más de 50 excepciones.

“Elevar”, quiere decir que Python crea un objeto de tipo excepción.

Traceback son los errores que muestran en las consolas. Lo correcto es leer desde el final hasta el principio. En el final nos dirá cuál es la excepción que ocurrió.

Algunos de los principales errores en el código:

Python nos avisa de este tipo de errores.

**Keyboard Interrupt: ** ocurre cuando pulsamos Ctrl + C en la consola interactiva de Python y esto detiene el flujo de ejecución del programa.
KeyError: cuando intentamos acceder a una llave (key) que no existe en un diccionario.
IndexError: causada cuando estamos trabajando con listas e intentamos acceder a un index (índice) de esa lista que no existe.
**FileNotFoundError: **se origina al intentar abrir un archivo que no existe.
ZeroDivisionError: se genera este error cuando intentamos dividir un número entre cero.

ImportError: cuando queremos importar un módulo y hay algún error en ese módulo.

Obtenemos información del error a través del traceback. Lo correcto es leer desde el final hasta el principio.

Ejemplo del tipo de información que arroja el traceback.

La última línea dice el nombre del error, en este caso ZeroDivisionError. La penúltima línea dice: 1) el nombre del archivo en el que se produce el error. Este nombre aparece entre <> . En esta ocasión dice stdin debido a que este ejemplo se corrió desde la consola y no desde el archivo en el editor de texto, por ejemplo, VSC (Visual Studio Code). 2) Luego nos dice la línea en la que sucede el error, línea 1.
3) Finalmente, muestra el módulo en el que se produjo el error, ya que el archivo pertenece a un módulo de Python en todo momento. Por último, nos dice el Traceback (traza o huella del error), es decir, de donde parte el error.

Para evitar los errores de lógica o errores donde no obtenemos el traceback considero que se deben aplicar los conceptos de diseño de algoritmos como lo son:

  • La definición del problema a resolver
  • Especificaciones o requerimientos mínimos
  • Desarrollo de un modelo, por ejemplo ayudarse de pseudocódigo
  • Pruebas de escritorio
  • Documentación

Mi vida cambio desde ahora que se que los errores se leen desde abajo hacia arriba.

🐍 Los Errores de Código

Cuando Python nos avisa

  • SyntaxError, detienen el programa-
  • Exception, si suceden en una parte del programa que hacen que el programa se detenga.

Cuando Python no nos avisa

  • Debugging
  • Depuración

🤔 Los errores ocurren. Escribir secuencias de comandos que esperen y gestionen errores nos pueden ahorrar tiempo y frustración.

Estos son los errrores y excepciones de la documentacion oficial de python

https://docs.python.org/es/3/tutorial/errors.html

Los errores que nos indica Python en el Traceback se categorizan en dos: SyntaxError, Exception. Los Syntax errors, son muy normales y no muy graves, debido a que se tratan de errores al escribir. Errores de ortografía por decirlo así, en las que el problema normalmente es que no pusimos atención y se nos escapó una letra demás o menos.

Los Exceptions, son errores de lógica, que surgen en medio de la ejecución del script, lo que hace que tengamos que cambiar pasos o añadirlos.

Los Traceback son una herramienta mega importante, pues no dice el lugar exacto de dónde proviene nuestro error, sin embargo, estos mensajes, se tienen que leer de abajo hacia arriba para entender bien, dónde surge el error.

Python para la ejecución de nuestro script precisamente dónde no encuentra un manejo de errores; sin embargo antes de pasar, también revisa a si hay capas mayores de ejecución que tienen un manejo de esa excepción. En caso de que todo sea negativo, inmediatamente para.

top Python exception list

Los errores en el código.

  • Es muy normal equivocarse programando, y es cosa de todos los días: debemos aprender a recibir y manejar errores 🛑.
  • Hay dos tipos de errores:
    • Error de lógica: Python no nos avisa: entonces nosotros programamos mal, y para resolverlo debemos revisar nuestro programa de principio a fin para encontrar donde falla. Una de las técnicas para resolver esto es debugging. 🧠
    • Cuando Python si nos avisa y nos devuelve un traceback.
  • De cuando si nos avisa, entonces hay dos opciones:
    • SyntaxError: Cuando tenemos un typo o escribimos algo mal. Aquí se detiene el programa sin si quiera ejecutarse porque está mal escrito. 📕
    • Exception: Aquí si se ejecuta el código, pero la lógica se rompe en algún punto. Esto pasa en una línea específica, y todas las anteriores si se ejecutan. 😵
  • Sobre Exception, los mas comúnes:
    • KeyboardInterrupt: Ocurre cuando pulsamos Ctrl + C en la consola 👽. Para poder cortar el proceso, eleva una excepción.
    • KeyError: Cuando queremos entrar a una llave de un diccionario que no existe.
    • IndexError: Similar al anterior, pero en listas.
    • FileNotFoundError: Como su nombre lo indica 😆
    • ZeroDivisionError: 👀
    • ImportError: Cuando intentas importar un módulo que no está funcionando.
  • Dentro del mensaje que aparece cuando hay un error se encuentra el traceback, y la manera correcta de leerlo es leerlo del final al inicio. En este orden, la primera contiene el tipo de error. En la siguiente, el archivo donde sucedió el error, la línea y el módulo. 🤯 La antepenultima línea, aparece el traceback, y nos explica de donde parte el error.

Main Exceptions in Python:

#AssertionError : Raised when an assert statement fails.
#AttributeError : Raised when attribute assignment or reference fails.
#EOFError : Raised when the input() function hits end-of-file condition.
#FloatingPointError : Raised when a floating point operation fails.
#GeneratorExit : Raise when a generator's close() method is called.
#ImportError : Raised when the imported module is not found.
#IndexError : Raised when the index of a sequence is out of range.
#KeyError : Raised when a key is not found in a dictionary.
#KeyboardInterrupt : Raised when the user hits the interrupt key (Ctrl+C or Delete).
#MemoryError : Raised when an operation runs out of memory.
#NameError : Raised when a variable is not found in local or global scope.
#NotImplementedError : Raised by abstract methods.
#OSError : Raised when system operation causes system related error.
#OverflowError : Raised when the result of an arithmetic operation is too large to be represented.
#ReferenceError : Raised when a weak reference proxy is used to access a garbage collected referent.
#RuntimeError : Raised when an error does not fall under any other category.
#StopIteration : Raised by next() function to indicate that there is no further item to be returned by iterator.
#SyntaxError : Raised by parser when syntax error is encountered.
#IndentationError : Raised when there is incorrect indentation.
#TabError : Raised when indentation consists of inconsistent tabs and spaces.
#SystemError : Raised when interpreter detects internal error.
#SystemExit : Raised by sys.exit() function.
#TypeError : Raised when a function or operation is applied to an object of incorrect type.
#UnboundLocalError : Raised when a reference is made to a local variable in a function or method, but no value has been bound to that variable.
#UnicodeError : Raised when a Unicode-related encoding or decoding error occurs.
#UnicodeEncodeError : Raised when a Unicode-related error occurs during encoding.
#UnicodeDecodeError : Raised when a Unicode-related error occurs during decoding.
#UnicodeTranslateError : Raised when a Unicode-related error occurs during translating.
#ValueError : Raised when a function gets an argument of correct type but improper value.
#ZeroDivisionError : Raised when the second operand of division or modulo operation is zero.

🤖🤖🤖
Errores en el código:
Cuando python nos avisa que tenemos un error en el código nos avienta un mensaje que conocemos como traceback, puesde ser debido a:
Errores de Sintaxis (SyntaxError) → escribimos mal alguna palabra clave (typo), el programa no se ejecuta.
Excepciones (Exeption) → Producen un colapso o interrupción de la lógica del programa en alguna línea en específico por ejemplo (todas las líneas anteriores se ejecutan), pueden ser de varios tipos, generalmente aparecen cuando no existe un componente clave en la ejecución o hay alguna imposibilidad lógica (matemática) para efectuar la instrucción, tambipen pueden generarse dentro del código o fuera de el (elevar una excepción)
🤖🤖🤖
Lectura de un traceback
La manera correcta de leer un traceback es iniciar por el final, en el caso de un error de sintaxis nos indicará en qué línea se encuentra dicho error.
En el caso de excepciones la última línea nos indicará el tipo de exepcion que se generó (generalmente son autoexplicativas pero si no entienedes que paso puedes buscar este error)
La penúltima línea nos indicará dende se encuentra el error (archivo y línea)
La antepenúltima línea nos muestra “most recent call last” lo que significa que la llamada más reciente es la última (el programa se cerró después de esa llamada, se genero un error)
🤖🤖🤖
Elevar una excepción
Cuando tenemos una excepción en python lo que sucede es que se crea un objeto de tipo exception que se va moviendo a través de los bloques de código hasta llegar al bloque principal si es que no se maneja dicha excepción en algún bloque intermedio el programa se interrumpe y genera el traceback

Manejo de errores

Modulo exclusivo para aprender a manejar errores.
Estos se pueden dividir en:

  • cuando python nos avisa
    • El lenguaje nos devuelve un trace back
  • cuando no nos avisa
    • Sencillamente lo que sucede es que programamos mal, nuestro algoritmo no funciona y hay algún paso donde las cosas están fallando. Lo que debemos hacer es revisar nuestro programa de principio a fin hasta encontrar el punto donde todo falla. A esto se le llama debuggin o depuración.

En otras palabras podemos decir que los errores se clasifican en syntax error y excepciones

  • syntax error

    • cuando escribimos mal, la diferencia de las excepciones es que el syntax error detiene el programa y python nisiquiera ejecuta la primera línea
  • exception

    • La diferencia con los errores de sintaxis si sucede en torno de nuestro programa haciendo que se rompa toda la lógica.
      1. KeyboardInterrupt: Excepcion que sucede cuando precionamos Ctrl + c en la consola interactiva de python. Significa que cortamo el proceso de python. En otras palabras eleva(crea objeto tipo excepcion y lo mueve en nuestro programa en los bloques de código desde dentro hasta fuera)
      2. KeyError: sucede cuando queremos acceder a una llave de un diccionario que no existe
      3. IndexError: Sucede cuando estamos trabajando con una lista y accedemos a un índice que no existe
      4. FileNotFoundError: cuándo abrimos un archivo que no existe
      5. ZeroDivisionError: tratar de dividir un número entre 0
      6. ImportError: Sucede cuándo intentamos intentar importar un módulo y algo falla.

¿De qué manera python nos muestra una exception?

TraceBack (most resent call last):
 File "<stdin>", line1, in <module>
 ZeroDivisionError: division by zero

¿Cómo se lee un Traceback?

lo correcto es leer desde el final hasta el principio. Desde la última línea hasta la primera

manejo de errores

  • SyntaxErro Detienen el programa por error de typo
  • Exception
    • KeyboardInterrupt: cuando se presiona ctrl + c
    • KeyError: cuando se trata de acceder a una llave de un diccionario que no existe
    • IndezError: cuando se trata de acceder a indice de una lista que no existe
    • FileNotFoundError: Cuando se intenta abrir un archivo inexistente
    • ZeroDivisionError: la división entre cero
    • ImportError: cuando se intenta importar un modulo con un error

python Exceptions

Para tener presente de la clase…

hay una extension en visual estudio code que se llama Error Lens , la cual muestra los errores de sintaxis en cualquier lenguaje en el que estemos programando espero que les sirva

Poco a poco voy entendiendo los errores

ERRORES EN EL CÓDIGO

Errores de sintaxis: Este tipo de error es por escritura. Python no corre el programa simplemente lo detiene, ya que Python lee primero todo el código y luego lo ejecuta.

Exception: Cuando esto pasa Python manda un error y dice la línea en la que se genera dicho error.

  • KeyboardInterrupt: Cuando pulsamos ctrl + C Python deja de correr el programa.
  • KeyError: Cuando llamamos una llave que no existe en un diccionario.
  • IndexError: Cuando queremos llegar a una posición/índice inexistente en una lista.
  • FileNotFoundError: Cuando vamos a acceder a un archivo de Python que no existe.
  • ZeroDivisionError: Cuando queremos dividir un número entre 0.
  • ImportError: Cuando intentamos importar un módulo y hay algún error en este módulo.

Cuando Python muestra una excepción lo hace con Traceback, debe leerse de final hasta el principio.

Manejo de errores
Si Python no me avisa hacer debuginng binario. Si me avisa leer bien el traceback (taza de error).
Traceback: SyntaxError(Error en el tipo) / Exception(Error en la lógica). Se lee del final al principio.

algo importante cuando dice que eleva un error en inglés te saldrá como Raise

SyntaxError: Error de sintaxis, no ejecuta nada
Exception: Lo ejecuto, pero hubo algún error que rompe la lógica

Elevar: Crea un objeto y lo va subiendo en la ejecución del programa

Traceback: Leer del final hasta el principio

diferencia entre un error de sintaxis (errores de sintaxis ) y una excepcion
( en ambos Python nos avisa ); la principal diferencia en que los syntaxerror detienen el programa y Python ni siquiera ejecuta la primera linea y con las exception detiene el progama en una linea especifica ejecuta todas las anteriores

Eso de leer los errores de abajo hacia arriba es super clave, yo lo hacía incorrectamente de arriba hacia abajo y no encontraba el origen del error. Tremendo tip. Excelente profesor Facundo, se le entiende todo.

Gracias a la programación orientada a objetos podemos crear nuestras propias excepciones. Estas excepciones pueden llegar a obedecer a nuestros objetivos dentro de la lógica de negocio.

[email protected]Pro-de-Jherom curso_python % python3 7.error_handling.py
Traceback (most recent call last):
  File "/Users/jheromchacon/OneDrive/Documentos/MiFormacionProfesional/PLATZI/BACKEND CON PYTHON/Curso Python Intermedio/curso_python/7.error_handling.py", line 21, in <module>
    get_divide_by_zero_error()
  File "/Users/jheromchacon/OneDrive/Documentos/MiFormacionProfesional/PLATZI/BACKEND CON PYTHON/Curso Python Intermedio/curso_python/7.error_handling.py", line 16, in get_divide_by_zero_error
    return 3 / 0
ZeroDivisionError: division by zero

El módulo a lo que hace referencia es al método. Por ejemplo en este Traceback de ejemplo que les pongo arriba se está generando el error en el módulo o método llamado get_divide_by_zero_error():

def get_divide_by_zero_error():
    return 3 / 0

if __name__=='__main__':
    # get_key_error()
    # get_index_error()
    get_divide_by_zero_error()

Hola, hasta ahora comienzo en el mundo de la programación y la página Pythontutor me ha ayudado mucho para encontrar errores de lógica… Se los recomiendo!!!

En palabras mas profundas el Traceback es una pila de ejecución que maneja internamente python. Por ende es muy importante siempre leer de abajo hacia arriba ya que siguiendo el concepto de pilas donde el ultimo en llegar es el primero en salir.

Saber leer la pila de ejecución es un factor muy importante para solucionar bug de manera rápida y sin tantos dolores de cabeza.

La depuración de programas es el proceso de identificar y corregir errores de programación. ​ En inglés se conoce como debugging, porque se asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los errores de programación.

Traceback:


Mensaje que emerge en cuanto ocurre una excepción, es decir que es lanzado cuando el programa ya se está ejecutando, los errores de sintaxis no se despliegan con un traceback.

  • Sintax Error y Exception (KeyboardInterrupt, keyError[dictionaries], IndexError, FileNotFoundError, ZeroDivisionError, ImportError)
  • Traceback, traza del error, leer de abajo hacia arriba.

Errores de sintaxis: Errores de escritura. Estos errores detienen el programa y Python ni siquiera ejecuta el codigo porque Python primero lee el codigo de principio a fin, y si hay algun error de escritura Python no corre el programa definitivamente.
Exception: Sí suceden en algun punto del programa que hace que quiebren toda la lógica. Cuando Python lo detecta manda el error en la línea específica, pero el resto de líneas anteriores sí se ejecutarán.

  • KeyboardInterrupt: Cuando pulsamos ctrl + C en la consola. Ahí Python deja de correr el programa y todo se cierra. Python eleva el proceso, es decir, crea un objeto de tipo Exception y lo va moviendo en el programa desde dentro hacia afuera.
  • KeyError: Cuando nosotros intentamos acceder a una llave en un diccionario inexistente.
  • IndexError: Cuando trabajamos con listas e intentamos acceder a un índice inexistente.
  • FileNotFoundError: Cuando intentamos abrir un archivo inexistente
  • ZeroDivisionError: Cuando intentamos dividir un número entre 0
  • ImportError: Cuando intentamos importar un módulo y hay algún error en el módulo.

El mensaje de error se denomina Traceback. Se lee desde el final hasta el principio.

Excelente. Vamos a generar errores…

Sentí que la clase duro un minuto, me sucede cuando aprendo nuevos conceptos o algo nuevo en general Xd

Gracias ahora los errores que tengan no estarán ten en chino para entenderle jajajaja

wooooo, esto esta genial. Definitivamente clasesota

Los errores en Python se pueden dividir en dos:

  1. Cuando Python avisa.

    En estos casos devuelve un traceback. Estos a su vez se subdividen en dos:

    1. SyntaxError: ocurren cuando hay una palabra reservada mal escrita, bloques de código no identados. No corre ni la primera línea.
    2. Exception: son detectados en tiempo de ejecución. Se detiene en la línea que dispara o desencadena esa excepción. Algunos de ellos: KeyboardInterrupt, KeyError, IndexError, FileNotFoundError, ZeroDivisionError, ImportError
  2. Cuando Python NO avisa.

    Este pasa cuando hay «errores» en la lógica. Se revisa mediante debugging.

Nuestro algoritmo no funciona y hay un paso donde nuestro algoritmo está fallando,
Debugging o depuración -> Python no nos avisa que nos equivocamos
Python nos avisa en qué nos estamos equivocando -> traceback
SyntaxError error de escritura Python no corre el programa desde la primera línea
Excepciones, suceden en un punto del programa que hace que quiebre la lógica, las líneas anteriores sí se van a correr. Existen más de 50 errores.
KeyboardInterrup -> Ctrl + C -> Python crea un error y lo eleva
Keyerro -> intentamos acceder a una llave de un diccionario que no existe
indexError-> intentamos a acceder a un índice de una lista que no existe
FileNotFoundError -> intentar abrir un archivo que no existe
ZeroDivisionError, dividir un número entre 0
ImportError ->importar un módulo que está fallando

Los errores en el código
Cuando ocurre un error y python nos avisa del error estos pueden ser de dos tipos:
• SyntaxError: Estos ocurren cuando por ejemplo escribimos mal alguna palabra reservada de python y se les suele conocer como typo, cuando ocurren el programa ni siquiera se ejecuta.

• Exception: Este tipo de error ocurre en una línea determinada de nuestro programa la cual hace que se detenga, en este tipo de error todas las líneas anteriores al punto en donde se encuentra el error son ejecutadas, pero cuando python llega al error es donde el programa es interrumpido.

Elevar una excepción: Cuando ocurre una excepción lo que hace python es generar un objeto del tipo Exception el cual va escalando los bloques de nuestro programa hasta llegar al bloque principal.
Traceback:
Los Traceback son como pequeños reportes que python genera al momento de informarnos de un error y la manera adecuada de leer un Traceback es haciéndolo desde la última línea hasta la primera.
• En la última línea se nos explica la excepción y de cual tipo fue.
• En la penúltima línea se nos informara en que archivo y en qué línea fue encontrado el error.
• En la antepenúltima línea se encuentra el Traceback que en español viene siendo como la traza del error y explica de donde parte el error.

La última actualización de Python al día de hoy mejora los mensajes de error en el código, incluyendo posibles mejoras o correcciones que se deban hacer. Si están interesados pueden revisar la documentación de Python 3.10.

Tabla de las Exceptions mencionadas:

Documentación para las excepciones de errores en Python:

https://docs.python.org/es/3/tutorial/errors.html

Leer el traceback desde el final al inicio es algo que me ha ayudado de manera maravillosa gracias Facundo

Una excepcion no es un subtipo de Error.

existen dos tipos errores en python: De sintaxis Excepciones

Esta clase debería ser la primera del curso básico jajaja, aprender a manejar los errores es importante y dejar de solo copiar y pegar en Google.

Muy importante para tenerlo bien en cuenta. Errores y cómo manejarlos.

Jajaja yo leía solo el final de los mensajes de errores solo por “terminar” de leer mas rápido xd

Los errores son la oportunidad para practicar resolucion de problemas

Muy buena clase y explicación profe.

acá dejo mi aporte:

Explicación inicial de ELEVAR una "exception"

Al usar VS Code también el mismo editor nos indica si hay errores antes de correrlos.

Les adjunto la lista de excepciones que python maneja.

https://docs.python.org/3/library/exceptions.html#bltin-exceptions

me encanta aprender con facundo

Siempre he leído los tracebacks desde el final al principio, instintivamente

Siempre en un Traceback te muestra: el archivo, la línea y luego en qué módulo.

Los Exceptions, cortan la ejecución; esto lo hace Python, elevando un objeto de la clase Exception. De forma que este, toma el 'control' y para la ejecución.

El intérprete de Python, primero revisa la sintaxis del código antes de proceder a ejecutarlo.

Si hay Syntax Errors, significa que nuestro código no se ejecuta hasta que se solucione tal fallo.

Debugging o depuración, es la acción de limpiar nuestro código de errores.

Existen errores de lógica, que necesitamos encontrar repasando paso por paso lo que se hace.

Es mejor que python te diga cual es error a que no te lo diga por que alli si que se vuelve complicado, true history 😂

El famoso traceback, leyendo desde el fin al inicio.

Exelente clase, bastante compleja, pero el profe ayuda a comprender mejor.

a los cursos de Facundo les he entendido todo super bien 😐

Excelente que buena explicacion