Tipos de error en Python

Tipos de error en Python
Los codificadores, especialmente los codificadores novatos, tienden a encontrar errores. Un error en el código evita que el código se ejecute completamente correctamente o de la manera prevista. En particular, los errores lanzados por Python se encuentran en una de las tres categorías: errores de sintaxis, errores de tiempo de ejecución o errores lógicos. En este tutorial, aprenderemos los diferentes tipos de errores que Python puede lanzar.

Errores de sintaxis

Un error de sintaxis o un error de análisis es un tipo de error que se arroja cuando Python no entiende lo que está tratando de decir. Necesitamos comunicarnos con el intérprete de Python lo que queremos decir como el idioma hablado. Por ejemplo, es posible que desee decir feliz cumpleaños a tu amigo. Pero si te hice la palabra feliz y, en cambio, te olvidas de escribir la H y la Y, entonces la palabra es incomprendida o peor aún, no se puede resolver. De la misma manera, Python viene con un conjunto de reglas muy rígidas y palabras. Cuando rompes las reglas o escribes las palabras con un error, el intérprete de Python simplemente no puede entender lo que estás tratando de decir, y arrojará un error de sintaxis. Este error se puede solucionar simplemente revisando la sintaxis y solucionándola para que realmente cumpla con la regla establecida por Python.

Ejemplo #1: Sintaxis olvidada

principal.py
nombre = "¿Cuál es tu nombre?? "
Si nombre != "Linux"
Imprimir ("Hello % S" % Nombre)

Producción:

Archivo "C: \ Users \ kalya \ pycharmprojects \ pythonproject \ main.py ", línea 3
Si nombre != "Linux"
^
SyntaxError: esperado ':'
Proceso terminado con el código de salida 1

Este es, por mucho, el ejemplo más simple de un error de sintaxis. Las reglas de Python afirman que debe haber un colon al final de la declaración if, y aquí simplemente lo hemos omitido. Eso solo ha arruinado Python, no entiende lo que le estás pidiendo que haga. Entonces, la solución simple es agregar un colon al final de la declaración IF. Y por extraño que parezca, te dirá qué está mal y cómo solucionarlo. En este caso, dice "esperado". Entonces, te está diciendo que espera un colon allí.

Ejemplo #2: sintaxis incorrecta

principal.py
para la gama IM (5):
Imprimir (i)

Producción:

Archivo "C: \ Users \ kalya \ pycharmprojects \ pythonproject \ main.py ", línea 1
para la gama IM (5):
^^
Error de sintaxis: sintaxis invalida
Proceso terminado con el código de salida 1

Aquí, escribí IM en lugar de en. Entonces, arrojó un error de sintaxis porque la palabra utilizada es incorrecta. En Python, un conjunto de palabras son palabras especiales, y ya tienen significados definidos por orina. Cuando usas una palabra que no está dentro de ese conjunto, no la reconoce y se vuelve eh?

Ejemplo #3: Soportes faltantes o incorrectos

principal.py
diccionario = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
Impresión (diccionario)

Producción:

Archivo "C: \ Users \ kalya \ pycharmprojects \ pythonproject \ main.py ", línea 1
diccionario = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
^
Error de sintaxis: sintaxis invalida
Proceso terminado con el código de salida 1

En este caso, estamos vinculando a usar un diccionario en Python. Pero no usamos los aparatos ortopédicos rizados y, en su lugar, usamos los aparatos cuadrados que conducen a un error. Según las reglas, en Python, para un diccionario, usamos aparatos ortopédicos rizados.

Errores de tiempo de ejecución

Es posible que reciba un error incluso si no cometió ningún error de sintaxis. Cuando el error ocurre durante la ejecución del código, también se conoce como una excepción o un error de tiempo de ejecución. Entonces, comienza a escribir el código y comienza a ejecutar sin ningún problema. Pero a mitad de camino, solo se detiene y dice que hay un error: esto se llama una excepción.

Ejemplo #1: Intentar dividir una cadena por un entero

principal.py
nombre = 'Linuxhint'
edad = 24
Total = nombre / edad
Imprimir (total)

Producción:

Archivo "C: \ Users \ kalya \ pycharmprojects \ pythonproject \ main.py ", línea 4, en
Total = nombre / edad
TypeError: tipos de operando no compatibles para /: 'str' e 'int'
Proceso terminado con el código de salida 1

Aquí, estamos intentando dividir una cadena de un entero, y eso se llama una excepción o un error de tiempo de ejecución.

Ejemplo #2: Intentar acceder a un archivo que no existe

principal.py
F = Open ('Archivo.txt ',' r ')
imprimir (F.leer())

Producción:

Archivo "C: \ Users \ kalya \ pycharmprojects \ pythonproject \ main.py ", línea 1, en
F = Open ('Archivo.txt ',' r ')
FileNotFoundError: [Errno 2] No hay dicho archivo o directorio: 'Archivo.TXT'
Proceso terminado con el código de salida 1

En este caso, estamos señalando un archivo que no existe. Entonces, el programa se ejecuta pero termina temprano con un mensaje de error de tiempo de ejecución porque no puede localizar ese archivo.

Errores lógicos

A diferencia de un error de sintaxis o un error de tiempo de ejecución, el error lógico es mucho más difícil de identificar. También es mucho más difícil de tratar. Entonces, Python no se bloqueará, y tampoco mostrará ningún mensaje de error. En este caso, el programa se ejecutará y nos dará un resultado. Pero el resultado será incorrecto. Entonces, ¿dónde está el error?? En la lógica del programador.

Ejemplo #1: error lógico

principal.py
x = 5
y = 6
z = x+y/2
Imprimir ("El promedio de %F y %F es %F" %(x, y, z))

Producción:

El promedio de 5.000000 y 6.000000 es 8.000000
Proceso terminado con el código de salida 0

Aquí, el promedio de 5 y 6 no es 8! Así que aquí el código se ejecuta y sacó un resultado. Pero el principiante se sentaría allí y se rascaría la cabeza porque los resultados están mal.

Ejemplo #2: error lógico

principal.py
Dictionary = 'Jim': 24, 'Jack': 45, 'John': 60
Para el miembro del diccionario:
edad = diccionario [miembro]
Si la edad < 40:
Imprimir ("Tienes 40 años o más. Puede ingresar a este sitio.")
demás:
Imprima ("Eres demasiado joven para ingresar a este sitio")

Producción:

Tienes 40 años o más. Puede ingresar a este sitio.
Eres demasiado joven para ingresar a este sitio
Eres demasiado joven para ingresar a este sitio
Proceso terminado con el código de salida 0

La razón de este código es excluir a los menores de 40 años del sitio web. Pero como habrás notado, el programador puso un signo menos que un signo mayor después de la edad (edad <40). Both Jack and John are older than 40 but the program says that they are too young to enter this site. Jim who is 24 is allowed because it thinks that he's older than 40. This is a logical problem. It can be solved by changing the greater than/less than sign.

En Python, todos los errores que obtendrá se pueden clasificar en tres grupos: sintaxis, tiempo de ejecución/excepción o errores lógicos. Tanto la sintaxis como el error de tiempo de ejecución hará que Python se bloquee. Por lo general, mostrará un mensaje que le permite saber cómo solucionar el problema y dónde está el problema. Este no es el caso de un error lógico. Un error lógico no hace que Python se bloquee, sino que elimina los resultados que están completamente incorrectos. Entonces, de los tres, los errores lógicos son los más difíciles de tratar porque no sabemos dónde se encuentra el error.