Los errores en el código
Clase 13 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores
Contenido del curso
Clase 13 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores
Contenido del curso
Royer Guerrero Pinilla
Jose Antonio Rojas Ollarves
Eduardo Rodriguez
Josue Noha Valdivia
Moisés Manuel Morín Hevia
Jose Roberto
Francisco José Bohórquez Torres
DANILO RAMIREZ
Marlon Ramirez
Daniel David Mármol Rivero
Moisés Manuel Morín Hevia
Mauricio Gonzalez Falcon
Ariel Ricardo Cornejo Jiménez
Moisés Manuel Morín Hevia
Carlos Rodríguez
Miguel Angel Reyes Moreno
Moisés Manuel Morín Hevia
Luis Alejandro Vera Hernandez
Carlos Fernando Aguilar González
Moisés Manuel Morín Hevia
Iván Mauricio Jaimes Niño
Moisés Manuel Morín Hevia
Mauricio Gonzalez Falcon
Braulio Alberto Bueno Pabon
Usuario anónimo
Gabriel Missael Barco
Francisco Garcia [C6]
Moisés Manuel Morín Hevia
Daniel Eduardo Portugal Revilla
Carlos Esteban Lara Gil
Miguel Andres Rendon Reyes
Miguel Andres Rendon Reyes
Miguel Andres Rendon Reyes
Miguel Andres Rendon Reyes
Gerardo Mayel Fernández Alamilla
Fernando Campos
Miguel Andres Rendon Reyes
El manejo de errores es muy importante y los mejores trucos como ya lo dijo Facundo son:
Dejo un artículo aquí para complementar e intentar satisfacer su apetito feroz por entender y aprender Python Python Exceptions: An Introduction
Excelente resumen
Gracias por el aporte
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:
Lectura de un traceback
Elevar una excepción
Gracias por el resumen.
Muchas gracias, este apunte me servirá de mucho
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 :)
Muchas gracias. Genial tu explicación!
Excelente aporte!!
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.
Seeee un Python avanzado & otro super avanzado plz.
Que bueno que ya hay un curso profesional!
Facundo! Excelente profesor, los conceptos complejos los explica de manera que uno los entiende claramente! Muy bien ...
A mi tmb me agrada.
Gran teacher.
Los errores son parte de nuestra vida como programadores y hay que saber lidiar con ellos.
Errores:
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ó.
Thanks.
Gracias por el resumen
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.
Solo algunos, hay un buen (: Vamos a por todos.
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:
Gracias, lo tendré en cuenta.
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
Cuando Python no nos avisa
🤔 Los errores ocurren. Escribir secuencias de comandos que esperen y gestionen errores nos pueden ahorrar tiempo y frustración.
Los errores en el código.
Estos son los errrores y excepciones de la documentacion oficial de python
Buen aporte.
top Python exception list
Manejo de errores
Modulo exclusivo para aprender a manejar errores. Estos se pueden dividir en:
En otras palabras podemos decir que los errores se clasifican en syntax error y excepciones
syntax error
exception
¿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
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.
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.
Gracias :thu
okay bro xD