Introducción al Manejo de Errores con Python
Tags: python, datapathformation, dataanalyst, datascience
Published: 2023-03-13 17:32:13

Queremos acelerar el talento en data y analytics en LATAM. Si te gusta el artículo recuerda que todos los meses tenemos inicios de nuestros programas especializados de Data Engineering, Data Analyst, Cloud y Machine Learning Engineer. Puedes conocer más [aquí](https://wa.me/51946561058?text=Hola,%20vengo%20de%20la%20comunidad%20Dev.to,%20quiero%20conocer%20los%20pr%C3%B3ximos%20inicios).

A medida que programamos y ejecutamos el código escrito es muy común que el programa se detenga debido a que se presenta un error o excepción, como se suele llamar en Python. Esta detención ocasiona un retraso porque no permite que se ejecuten las líneas de código posteriores al error. Por lo tanto, es necesario tener un buen manejo de errores para evitar esta situación. Es por ello que en este artículo conoceremos acerca de los principales errores que se presentan, aprenderemos formas de manejarlos y la importancia de saber lidiar con estos.

**Errores comunes**
Entre los errores más comunes se encuentran los de sintaxis y excepciones

**- Errores de sintaxis:** este error se presenta cuando el código no sigue las reglas de la sintaxis establecida por Python. El mensaje de error incluirá una flecha que indique la posición dónde se cometió la equivocación.  Por ejemplo, colocar un paréntesis de más o escribir mal una palabra clave.

```
5+4)
  File "<ipython-input-4-a6c7fcc243d0>", line 1
    5+4)
       ^
SyntaxError: unmatched ')'
```

**- Excepciones:**  este error ocurre incluso si es que no existe un error de sintaxis, sino cuando el código intenta realizar una acción que no es correcta o no está permitida. En el mensaje de error, nos indicarán lo que ha ocurrido para que se genere la alerta y permitirá detectar el fallo de manera más rápida. Por ejemplo, la división de un número entre cero o tratar de acceder a un índice que se encuentra fuera del rango establecido de una lista.

```
1/0
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-3-9e1622b385b6> in <module>
----> 1 1/0

ZeroDivisionError: division by zero
```

**- Manejo de errores**
Los errores se presentan a través excepciones, las cuales no permiten el flujo correcto del programa. El manejo de errores permitirá encapsularlos y seguir ejecutando las otras líneas de código.

En Python, se puede manejar estas excepciones con la sentencia try-except. La sintaxis es la siguiente:

La sentencia try permite que el código se ejecute hasta que se genere una excepción. Si se detecta una, el flujo de control pasará al bloque except, donde se devolverá lo indicado.

```
try:
  print(1/0)
except ZeroDivisionError as error:
    print(error)

division by zero
```

También se puede usar la sentencia finally para incluir un bloque de código que se ejecutará independientemente de si se genera una excepción o no:

```
try:
  print(1/0)
except ZeroDivisionError as error:
    print(error)
finally:
    print('infinito')

division by zero
infinito
```

**- Importancia del manejo de errores**
El manejo de errores en Python es importante por las siguientes razones:

Es una buena práctica mediante la cual se puede visibilizar los errores y realizar un repositorio para derivarlos a un área encargada de la corrección de los mismos.
Se obtendrá un código más robusto y con menos probabilidades de fallar.

Se brinda una mejor experiencia al usuario, ya que la ejecución no se detendrá y se pueden generar mensajes de error claros que propicien la solución rápida.

**Bibliografía**
Molina, N. (s.f.). Curso de Python: Comprehensions, Funciones y Manejo de Errores. Platzi. https://platzi.com/cursos/python-funciones/ 
Python Software Foundation. (s.f.). Errores y Excepciones. https://docs.python.org/es/3/tutorial/errors.html#exceptions

_Diana Jancachagua
Coordinadora Académica Datapath_

**Conoce nuestros programas**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vooftutqk79kjilj6bq4.png)

✔Descubre cómo acelerar tu talento en Data, Analytics y Cloud: 
 - Tenemos inicios todo los meses, conoce más [aquí](https://datapath.ai).