CodeGym /Cursos /Python SELF ES /Excepciones populares

Excepciones populares

Python SELF ES
Nivel 17 , Lección 1
Disponible

2.1 Creación de excepciones

No puedes vencer — lidera. Si no podemos evitar que ocurran errores en el programa, debemos aprender a controlarlos. Para eso, aprendamos a crear excepciones conscientemente.

El ejemplo más simple de excepción es la división por cero. Y el programa también es simple:


x = 100 / 0
        

Ese código se ejecutará con un error:


Traceback (most recent call last):
    File "", line 1, in 
         x = 100 / 0
        ~~~^~   
ZeroDivisionError: division by zero
        

ZeroDivisionError — es el nombre de la excepción, y division by zero — su breve descripción. Además, Python señalará el número de línea donde ocurrió esta excepción.

Conflicto de tipos de datos

Por supuesto, hay otras excepciones posibles. Por ejemplo, al intentar sumar una cadena y un número:


s = "100" + 100
        

Ocurrirá una excepción TypeError:


Traceback (most recent call last):
    File "", line 1, in 
TypeError: unsupported operand type(s) for +: 'str' and 'int'
        

Índice fuera de rango en listas

Otro error muy común que genera una excepción es intentar acceder a un elemento que no está en la lista:


my_list = [1, 2, 3]
print(my_list[10])
        

Ocurrirá una excepción IndexError:


Traceback (most recent call last):
    print(my_list[10])
        ~~~~~~~^^^^
IndexError: list index out of range
        

¿Cuántas hay en total? Hay miles de tipos de excepciones diferentes. Además, puedes crear las tuyas propias si no encuentras las existentes adecuadas para describir alguna situación específica. Aunque las más populares no son tantas.

2.2 Lista de las excepciones más populares

Hay muchas excepciones, pero para ti, como principiante, será útil conocer las más populares. A continuación te presento una tabla con ellas:

Excepción Descripción
Exception Clase base para todas las excepciones.
IndexError Ocurre al intentar acceder a un índice inexistente en una secuencia (por ejemplo, una lista o tupla).
KeyError Ocurre al intentar acceder a una clave inexistente en un diccionario.
NameError Ocurre al intentar acceder a una variable inexistente.
RuntimeError Ocurre por un error común de tiempo de ejecución que no pertenece a otros tipos de excepciones.
StopIteration Ocurre para señalar el fin de una iteración.
SyntaxError Ocurre cuando hay un error de sintaxis en el código.
IndentationError Ocurre debido a un error de indentación en el código (un subtipo de SyntaxError).
TabError Ocurre al mezclar tabulaciones y espacios en la indentación (un subtipo de IndentationError).
TypeError Ocurre al intentar realizar una operación con tipos de datos incompatibles.
UnboundLocalError Ocurre al intentar acceder a una variable local antes de haberla declarado (un subtipo de NameError).
ValueError Ocurre al pasar un argumento con un valor incorrecto a una función o operación.
ZeroDivisionError Ocurre al dividir por cero.

Lo más probable es que, como principiante, en el primer mes de tus estudios te encuentres con todos estos errores. Y no hay nada de malo en eso: solo se aprende de los errores.

2.3 Errores en el código

Veamos algunas situaciones más en las que ocurren errores en el código, para que te sea más fácil encontrarlos en tu propio código:

IndentationError

Este tipo de error ocurre cuando los indentaciones en el código están mal hechas. Por ejemplo, mezclar tabulaciones y espacios o una cantidad incorrecta de indentaciones.


def example():
    print("Hello")
     print("World")  # Indentación incorrecta causa IndentationError
        
example()
        

NameError


def example():
    print(undeclared_variable)  # Intento de usar una variable no declarada causa NameError
        
example()
        

ValueError

Este tipo de error ocurre cuando una operación o función recibe un argumento del tipo correcto, pero con un valor inapropiado.


def example():
    int("abc")  # Intento de convertir una cadena que no es un número causa ValueError
        
example()
        

KeyError

Este tipo de error ocurre cuando el programa intenta acceder a una clave inexistente en un diccionario.


def example():
    my_dict = {"a": 1, "b": 2}
    print(my_dict["c"])  # Intento de acceso a una clave inexistente causa KeyError
        
example()
        

SyntaxError

Este tipo de error ocurre cuando hay un error de sintaxis en el código, es decir, el código no cumple con la gramática del lenguaje Python.


def example():
    eval("if True print('Hello')")  # Sintaxis incorrecta causa SyntaxError
        
example()
        

El que está avisado, está armado. Ahora puedes reconocer y crear situaciones que causan errores. Es hora de aprender a manejar estos errores.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION