Introducción

1

Curso Intermedio de Python: Manejo de Errores y Conceptos Avanzados

Conjuntos

2

Conjuntos en Python: Propiedades y Uso Práctico

3

Manipulación de Conjuntos: Agregar, Remover y Actualizar Elementos

4

Operaciones Fundamentales con Conjuntos en Python

5

Playgrounds: Elimina elementos duplicados usando conjuntos

Comprehensions

6

List Comprehension en Python: Sintaxis y Ejemplos Prácticos

7

Comprensión de Diccionarios en Python: Ejemplos y Aplicaciones

8

Dictionary Comprehension con Condicionales en Python

9

Playgrounds: Crea una lista usando List Comprehension

10

Comparación de Listas, Tuplas y Conjuntos en Python

Funciones

11

Funciones en Programación: Creación y Uso en Python

12

Funciones en Python: Retorno de Valores y Reutilización de Código

13

Funciones en Python: Retorno múltiple y valores por defecto

14

Entendiendo el Scope en Python: Variables y Funciones

15

Refactorización de Juegos en Python: Uso de Funciones

16

Playgrounds: Tienda de Tecnología

17

Funciones Lambda en Python: Sintaxis y Aplicaciones Prácticas

18

Funciones de Orden Superior en Python: Concepto y Ejemplos Prácticos

19

Uso de la función map en Python para transformar listas

20

Transformaciones con Map en Diccionarios Complexos

21

Manejo de referencias en memoria con diccionarios y map en Python

22

Playgrounds: Multiplica todos los elementos por dos

23

Filtrado de listas con Filter en Python

24

Playgrounds: Retorna solo palabras de 4 letras y más

25

Uso de Reduce en Python para Manipular Listas

Módulos

26

Módulos en Python: Uso y Ejemplos Prácticos

27

Creación y Uso de Módulos en Python

28

Manejo de la dualidad de módulos en Python: script y módulo

29

Paquetes en Python: Creación y Uso de Módulos

30

Playgrounds: Calcular la suma de todas las compras

Manipulación de archivos y errores

31

Control manual de iteradores en Python con next

32

Errores y Excepciones en Python: Identificación y Manejo Básico

33

Manejo de Errores en Python: Uso de Try y Except

34

Playgrounds: Captura la excepción: ZeroDivisionError

35

Lectura y manejo de archivos de texto en Python

36

Lectura y escritura de archivos de texto en Python

37

Procesamiento de Archivos CSV en Python para Análisis de Datos

38

Playgrounds: Lee un CSV para calcular el total de gastos

Gráficas en Python

39

Gráficas con Matplotlib: Bar Chart y Pie Chart en Python

40

Proyecto Final: Análisis Poblacional con Python y Gráficas

41

Gráficos de Torta con Datos Filtrados en Python

Próximos pasos

42

Revisión y Mejora de Proyectos Estudiantiles

43

Reconoce tu proceso y certifícate

44

Manejo Avanzado de Estructuras de Datos en Python

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Errores y Excepciones en Python: Identificación y Manejo Básico

32/44
Recursos

¿Cómo identificar los tipos de errores comunes en Python?

A lo largo de tu camino como desarrollador en Python, es fundamental aprender a identificar y manejar distintos tipos de errores. Al conocer estos errores, no solo podrás resolver problemas rápidamente, sino también mejorar la robustez de tu código. Vamos a explorar algunos errores comunes y cómo puedes incluso levantar tus propios errores para lograr un código más controlado y profesional.

¿Qué es un error de sintaxis en Python?

El error de sintaxis ocurre cuando el código que escribes no cumple con las reglas del lenguaje Python. Esto impide que el programa se ejecute. Por ejemplo, si intentas ejecutar este código que tiene un paréntesis extra:

print((2 / 0)

Recibirás un mensaje de error de sintaxis de Python, indicándote que hay un problema con la forma en que el código está estructurado. La solución es bastante sencilla: debes revisar y corregir el error en la línea indicada.

¿Cómo manejar la división por cero?

Dividir cualquier número entre cero es otro error común que detiene la ejecución de tu programa. Este tipo de error se muestra de manera explícita en Python. Si intentas ejecutar lo siguiente:

resultado = 10 / 0

Recibirás una excepción de ZeroDivisionError. La forma de prevenir este tipo de errores es asegurarte siempre de que el divisor no sea cero. Puedes usar un condicional antes de realizar la operación.

¿Qué es un NameError?

Un NameError ocurre cuando haces referencia a una variable que no ha sido definida en tu programa. Por ejemplo:

print(nombre_variable)

Si nombre_variable no ha sido definido previamente en el código, obtendrás un NameError. Para evitar esto, asegúrate de declarar todas las variables antes de usarlas.

¿Por qué usar assert en Python?

El uso de assert es una manera efectiva de verificar si cierto código funciona como se espera. Actúa como una afirmación que, si no se cumple, levanta un AssertionError. Aquí un ejemplo:

def suma(x, y):
    return x + y

assert suma(2, 2) == 4

Si cambiamos la operación de suma por algo incorrecto que modifique el resultado previsto, levantaría un AssertionError. Esta herramienta es útil para realizar pruebas rápidas y sencillas, aunque existen métodos más avanzados para pruebas de software.

¿Cómo levantar tus propias excepciones?

Una ventaja de Python es que te permite generar tus propias excepciones utilizando raise. Esto es especialmente útil para implementar restricciones de negocio. Por ejemplo:

edad = 10

if edad < 18:
    raise Exception("No se permite menores de edad")

Con raise Exception, puedes lanzar un mensaje de error personalizado que detendrá la ejecución del programa si se cumple la condición específica. Esto es especialmente importante para asegurar que el código no se ejecute bajo condiciones no deseadas.

Recuerda, manejar y controlar los errores es esencial no sólo para resolver problemas, sino también para prevenir que servicios críticos en aplicaciones de gran escala caigan debido a errores no controlados. Continúa explorando y experimentando con el manejo de excepciones para convertirte en un desarrollador más efectivo y seguro en Python.

Aportes 41

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Desde aqui muchas felicidades a todos por llegar hasta aqui. ╰(°▽°)╯

assert() hace una verificacion y manda un AssertionError cuando no se cumple el “statement”

raise Exception() levanta un error creado por nosotros mismo

# print(0 / 0)
# print(result)
print('Hola')

suma = lambda x,y: x + y
assert suma(2,2) == 4

print('Hola 2')

age = 10
if age < 18:
  raise Exception('No se permiten menores de edad')

print('Hola 2')

En Python, los errores se conocen como excepciones. Las excepciones son eventos que ocurren durante la ejecución de un programa y que pueden interrumpir el flujo normal del programa si no se manejan adecuadamente. Python proporciona un sistema robusto para manejar excepciones y errores. Aquí tienes algunos conceptos básicos sobre excepciones en Python:

  1. Tipos de Excepciones: Python tiene una variedad de excepciones incorporadas, como SyntaxError, TypeError, ZeroDivisionError, FileNotFoundError, entre otras. Cada excepción tiene un propósito específico y se lanza cuando ocurre una condición de error particular.

  2. Lanzar una Excepción: Puedes lanzar manualmente una excepción usando la declaración raise. Esto te permite crear excepciones personalizadas para manejar situaciones específicas.

    pythonCopy code
    def dividir(a, b):
        if b == 0:
            raise ZeroDivisionError("No se puede dividir entre cero")
        return a / b
    
    
  3. Manejo de Excepciones: Puedes manejar las excepciones utilizando bloques try y except. Esto te permite capturar excepciones específicas y tomar medidas adecuadas cuando ocurren.

    pythonCopy code
    try:
        resultado = dividir(10, 0)
    except ZeroDivisionError as error:
        print(f"Error: {error}")
    
    
  4. Bloque finally: Puedes usar un bloque finally para especificar código que siempre se ejecutará, ya sea que se lance o no una excepción. Es útil para liberar recursos, como cerrar archivos o conexiones de bases de datos.

    pythonCopy code
    try:
        archivo = open("mi_archivo.txt", "r")
        contenido = archivo.read()
    except FileNotFoundError:
        print("El archivo no se encontró")
    finally:
        archivo.close()
    
    
  5. Manejo de Excepciones Múltiples: Puedes manejar múltiples excepciones utilizando varios bloques except. Esto te permite tomar acciones específicas para diferentes tipos de excepciones.

    pythonCopy code
    try:
        resultado = dividir(10, 0)
    except ZeroDivisionError as error:
        print(f"Error de división: {error}")
    except TypeError as error:
        print(f"Error de tipo: {error}")
    
    
  6. Excepciones Personalizadas: Puedes crear tus propias clases de excepciones personalizadas heredando de Exception o alguna excepción incorporada. Esto te permite definir tus propias reglas para el manejo de errores.

    pythonCopy code
    class MiErrorPersonalizado(Exception):
        def __init__(self, mensaje):
            super().__init__(mensaje)
    
    try:
        raise MiErrorPersonalizado("Esto es un error personalizado")
    except MiErrorPersonalizado as error:
        print(f"Error personalizado: {error}")
    
    

Errores en Python

#---------- Errores ---------

# error de sintaxis
print(0/0))
--> SyntaxError: unmatched ')'

# error division por cero
print(0/0)
--> ZeroDivisionError: division by zero

#variable no declarada
print(result)
--> NameError: name 'result' is not defined

#verificacion con assert
suma = lambda x, y: x + y
assert suma(2,2) == 5
--> AssertionError

# lanzar errores propios con raise
age = 10
if age < 18:
  raise Exception('No se permiten menores de edad')
--> Exception: No se permiten menores de edad

Prueba de Python excepto

  • Una buena noticia es que Python tiene un buen número de excepciones integradas para detectar errores en nuestro código. Además, nos brinda la oportunidad de crear excepciones personalizadas cuando ninguna de las excepciones integradas se adapta a nuestras necesidades.

¿Qué es una excepción?

  • Entonces, ¿qué es una excepción en Python? Bueno, en términos simples, cada vez que el intérprete de Python intenta ejecutar un código no válido, genera una excepción y, en los casos en que dicha excepción no se maneja, interrumpe el flujo normal de las instrucciones del programa e imprime un rastreo.

Assert: es una keyword en Python que permite definir condiciones que siempre (obligatoriamente) deben cumplirse, por lo que la expresión siempre deberá ser True, disparando una excepción (AssertionError) en caso de que no lo sea.
Sintaxis:

assert True

Raise: Genera una excepcion forzada, deteniendo el flujo del programa.
Sintaxis:

raise Exception('user_text')
# print(0 / 0)
# print(result)
print( ‘Hola’ )

suma = lambda x,y: x + y
assert suma(2,2) == 4

print( 'Hola 2')

age = 10
if age < 18:
    raise Exception('No se permiten menores de edad')

print( ‘Hola 2')

Una aserción es una expresión booleana que se evalúa y se espera que sea verdadera. Cuando utilizas `assert`, estás indicando que esperas que una expresión sea verdadera, y si no lo es, Python generará una excepción llamada `AssertionError` para indicar que la aserción ha fallado. Esto se puede usar en pruebas unitarias, depuración de errores entre otros. Por qué usamos assert y no un condicional como if para cuando ocurra el error? Ya que con assert se busca suposición critica que no debería suceder en tu código en producción, por lo que se detendría totalmente el programa. `Sintaxis` ```js assert expresion, "mensaje de error" ``` El `raise Excetion ` Sirve para lanzar una excepción personalizada, esto nos ayuda para poder identificar una excepción con mayor facilidad, porque los mensajes pueden ser más descriptivos, ayudándonos a corregir los errores de manera más fácil

Aquí hay un vídeo con sugerencias sobre el buen uso de assert, desde la sintaxis hasta cómo hacer el programa más rápido y que no gaste memoria innecesaria. Quizá no va con la dificultad del curso, pero enseña varios truquitos de Python 😉

Hola!

Les comparto el código de la clase con todos los errores planteados.

# Errores en Python
# https://www.w3schools.com/python/python_ref_exceptions.asp

'''
SyntaxError: unmatched ')'
print(0 / 0)) 

ZeroDivisionError: division by zero
print(0 / 0)

NameError: name 'result' is not defined
print(result)

AssertionError
assert suma(2, 2) == 5
'''
print("Hola")

suma = lambda x, y: x + y
assert suma(2, 2) == 4

# Generar un error personalizado
age = 10
if age < 18:
  raise Exception("No se permite menores de edad")

'''
Cuando se generan errores en Python el programa se detiene y no ejecuta nada de lo que se encuentra a continuación.
'''

print("Hola 2")

Ahora puedo hacer mis propios errores!

Me he dado de cuenta que assert no se puede usar en un print y tampoco se puede guardar en una variable. Por último, podemos agregar un mensaje descriptivo a assert para que el mensaje del error sea más descriptivo, también evitemos usar () en assert para que se pueda ejecutar bien: `assert expresion, "mensaje de error"`

En Python, los errores se dividen en dos categorías: errores de sintaxis y excepciones.

  • Errores de sintaxis: son errores que ocurren cuando el código no sigue las reglas de sintaxis de Python. Por ejemplo, si olvidamos colocar dos puntos al final de una línea de código que define un bloque, obtendremos un error de sintaxis.

  • Excepciones: son errores que ocurren durante la ejecución del código. Por ejemplo, podríamos obtener una excepción al intentar dividir un número entero por cero o al intentar acceder a un índice de una lista que no existe.

  • Podemos utilizar la sentencia try-except para manejar las excepciones y evitar que el programa se bloquee. Por ejemplo:

  • La palabra clave assert se utiliza para verificar si una condición es verdadera. Si la condición es verdadera, assert no hace nada y el programa continúa ejecutándose normalmente. Si la condición es falsa, assert genera una excepción AssertionError y detiene la ejecución del programa.

  • La declaración raise se utiliza para lanzar una excepción. A menudo se utiliza junto con las declaraciones try y except para manejar las excepciones que pueden ocurrir en su código.

  • Algunas excepciones comunes en Python son:

  • TypeError: ocurre cuando se intenta realizar una operación con objetos de tipos incorrectos.

  • NameError: ocurre cuando se hace referencia a una variable que no ha sido definida.

  • IndexError: ocurre cuando se intenta acceder a un índice de una lista que no existe.

  • ValueError: ocurre cuando se intenta realizar una operación con un valor inapropiado.

  • KeyError: ocurre cuando se intenta acceder a un diccionario con una clave que no existe.

  • ZeroDivisionError: ocurre cuando se intenta dividir un número entero por cero.

Creo que el proposito principal es que no se detenga el codigo por un error, sino que sepa esceptuarlo para continuar funcionando

Interesante clase, hasta ya viene un built-in para cuando es division por cero. ZeroDivisionError

yo a veces cometo el error de colocar printf en python y en C coloco print hahahahah

El assert es una declaración en Python que se utiliza para verificar si una condición es verdadera, y si no lo es, lanzar una excepción AssertionError. El uso típico del assert es para verificar la entrada de una función o para controlar el estado interno de un programa.

Sintaxis:

assert expression, error_message

Ejemplo:

x = 5
assert x > 0, "x debe ser mayor que 0"
En Python, un **error** o **excepción** ocurre cuando el intérprete encuentra una situación inesperada que no puede manejar. Los errores pueden clasificarse en dos tipos principales: 1. **Errores de Sintaxis (Syntax Errors)**: Suceden cuando el código no sigue las reglas de la sintaxis de Python, como una instrucción mal escrita o la falta de un paréntesis. El intérprete no puede ejecutar el código si hay errores de sintaxis. * Ejemplo:`print "Hola, mundo"` Esto genera un error de sintaxis porque falta paréntesis para `print` en Python 3. 2. **Excepciones (Exceptions)**: Ocurren durante la ejecución del programa cuando el código es sintácticamente correcto, pero algo inesperado sucede. Algunos ejemplos comunes son: * **NameError**: Intentar usar una variable que no ha sido definida. * **TypeError**: Realizar una operación con tipos de datos incompatibles. * **IndexError**: Acceder a un índice que no existe en una lista. * **ZeroDivisionError**: Intentar dividir un número entre cero. * Ejemplo:`x = 10 / 0`
Les dejo mis apuntes más el código: ```python # veamos los tipos de errores y como podemos levantar nuestros propios tipos de errores # estos errores ya los hemos visto en el pasado como dividir entre cero # error de sintaxis # print(0 / 0)) ''' File "/root/Python201/tempCodeRunnerFile.py", line 3 print(0 / 0)) ^ SyntaxError: unmatched ')' ''' # error de division con cero # print(0 / 0) ''' se presenta explicita e implicitamente cuando hacemos esas divisiones en cero Traceback (most recent call last): File "/root/Python201/tempCodeRunnerFile.py", line 1, in <module> print(0 / 0) ZeroDivisionError: division by zero ''' # Name error # referencia a una variable que no existe # print(result) ''' Traceback (most recent call last): File "/root/Python201/tempCodeRunnerFile.py", line 2, in <module> print(result) NameError: name 'result' is not defined cuando hay un error un programa se termina, python no lo ejecuta cuando ve un error ''' # print(result) # print('hola') # se termina antes de imprimir hola # otro tipo de error es el assert suma = lambda x,y: x + y # assert es para veriticar assert suma(2,2) == 4 print('hola') # no sale ningun error y deja imrpimir mas lineas, no manda error # hola ## todo paso de la forma correcta suma = lambda x,y: x + (y * 2) assert suma(2,2) == 4 print('hola') ''' aqui te da assertion errors, que la funcion no esta funcionando como deberia se puede emepzar a tener una disciplina conocida como pruebas unitarias para saber que los metodos estan sirviendo de la forma en la que deberian podrian ser herramientas, pero ahora se puede usar esa palabra clave ''' suma = lambda x,y: x + (y * 1) assert suma(2,2) == 4 print('hola') # tambien podemos lanzar nuestras propias excepciones age = 10 if age < 18: # vamos a lanzar una excepcion, un error como el de python pero que hacemos y que cumple con las reglas de negocio como no tener menores de edad. # para avantar error usamos la palabra reservada raise y excepcion raise Exception('No se permiten menores de edad') ''' Traceback (most recent call last): File "/root/Python201/tempCodeRunnerFile.py", line 7, in <module> raise Exception('No se permiten menores de edad') Exception: No se permiten menores de edad es diferente a las que lanza naturalmente python ''' ''' imagina que tienes el serivicio de una gran compania, y esta escrita con logica en python con algun error seria valido que toda la app caiga? eso no deberia pasar, que deniegue todo con error, hat saber manejar esas excepciones. ''' ```
```python #print(0 / 0) # sale error poque nose puede dividir por 0 #print(result) print('hola') suma = lambda x,y: x + y assert suma(2,2) == 4# assert es una funcion que se utiliza para verificar si la funcion esta correcta print('hola 2') age = 10 if age < 18: raise Exception('no es permitido menores de edada')# se crea una excepcion para que el programa se detenga y no siga ejecutando el codigo print('hola 2') # assert es prueba unitaria # assert es una prueba de codigo # raise es una excepcion ``` #print(0 / 0) # sale error poque nose puede dividir por 0 \#print(result) print('hola') suma = lambda x,y: x + y assert suma(2,2) == 4# assert es una funcion que se utiliza para verificar si la funcion esta correcta print('hola 2') age = 10 if age < 18: raise Exception('no es permitido menores de edada')# se crea una excepcion para que el programa se detenga y no siga ejecutando el codigo print('hola 2') \# assert es prueba unitaria \# assert es una prueba de codigo \# raise es una excepcion
repositorio: <https://github.com/angel20125/python-2-comprehension-functions-2024> ![](https://static.platzi.com/media/user_upload/clase-32-errores-en-python-1f30a3cd-03b2-494f-beff-b3df17e5cb2d.jpg)
Lo que entendi. assert genera un error cuando una condicion es falsa. raise execption genera un error cuando una condicion es verdadera.
En Python, assert y raise son dos declaraciones que se utilizan para manejar errores o excepciones en el código. **Assert:** La declaración assert se utiliza para afirmar que una determinada condición es verdadera. Si la condición es verdadera, el programa continúa ejecutándose como normalmente. Pero si la condición es falsa, el programa se detiene y devuelve un **AssertionError.** Es útil para la depuración y la validación de datos. def calcular\_edad(edad):     assert edad >= 0, "La edad no puede ser negativa"     return 2024 - edad print(calcular\_edad(25))  # Esto funcionará print(calcular\_edad(-5))  # Esto lanzará un AssertionError **Raise:** La declaración raise se utiliza para lanzar una excepción específica cuando ocurre una condición particular. Puedes definir qué tipo de error lanzar y el mensaje a mostrar. def calcular\_edad(edad):     if edad < 0:         raise ValueError("La edad no puede ser negativa")     return 2024 - edad print(calcular\_edad(25))  # Esto funcionará print(calcular\_edad(-5))  # Esto lanzará un ValueError En ambos casos, el programa se detiene cuando se encuentra con estas declaraciones y la condición es verdadera. Sin embargo, **raise** es más flexible ya que permite definir el tipo de error y el mensaje de error. Por otro lado, **assert** es más sencillo y se utiliza comúnmente para depuración y pruebas.
If you have any exception remember that, the program will stop his execution, for this reason is really important handler and test every part of code to avoid this kinda situations.
raise execption -- tu mismo generaras un error. por ejemplo no quieres que menores de edad pasen por tu aplicacion
genera excpecion, es decir tu mismo lazaras un error.
No sabia que podia enviar mis propias excepciones
* La instrucción **‘assert’** verifica que la función suma funcione correctamente * Si **‘assert’** es verdadera, no hace nada, si es falso manda una excepción ‘**AssertionError’** indica que la función no está funcionando * ‘**raise’** interrumpe la ejecución normal del programa y lanza una excepción con el mensaje

Jerarquía de excepción
La jerarquía de clases para las excepciones incorporadas es:

BaseException
├── BaseExceptionGroup
├── GeneratorExit
├── KeyboardInterrupt
├── SystemExit
└── Exception
├── ArithmeticError
│ ├── FloatingPointError
│ ├── OverflowError
│ └── ZeroDivisionError
├── AssertionError
├── AttributeError
├── BufferError
├── EOFError
├── ExceptionGroup [BaseExceptionGroup]
├── ImportError
│ └── ModuleNotFoundError
├── LookupError
│ ├── IndexError
│ └── KeyError
├── MemoryError
├── NameError
│ └── UnboundLocalError
├── OSError
│ ├── BlockingIOError
│ ├── ChildProcessError
│ ├── ConnectionError
│ │ ├── BrokenPipeError
│ │ ├── ConnectionAbortedError
│ │ ├── ConnectionRefusedError
│ │ └── ConnectionResetError
│ ├── FileExistsError
│ ├── FileNotFoundError
│ ├── InterruptedError
│ ├── IsADirectoryError
│ ├── NotADirectoryError
│ ├── PermissionError
│ ├── ProcessLookupError
│ └── TimeoutError
├── ReferenceError
├── RuntimeError
│ ├── NotImplementedError
│ └── RecursionError
├── StopAsyncIteration
├── StopIteration
├── SyntaxError
│ └── IndentationError
│ └── TabError
├── SystemError
├── TypeError
├── ValueError
│ └── UnicodeError
│ ├── UnicodeDecodeError
│ ├── UnicodeEncodeError
│ └── UnicodeTranslateError
└── Warning
├── BytesWarning
├── DeprecationWarning
├── EncodingWarning
├── FutureWarning
├── ImportWarning
├── PendingDeprecationWarning
├── ResourceWarning
├── RuntimeWarning
├── SyntaxWarning
├── UnicodeWarning
└── UserWarning

Interesante los errores que tiene la programacion python cuando se cometen los errores comunes en nuestro lenguaje. Esto nos permite mejorar con respecto a la funcionalidad. Es mejor manejarlos y estos no se visualicen en nuestro ejercicio.

# Errores en Python

# https://www.w3schools.com/python/python_ref_exceptions.asp

'''
Error de sintaxis
print(0/0))
# --> SyntaxError: unmatched ')'
'''

'''
Error de division por cero
print(0/0)
# --> ZeroDivisionError: division by zero
'''

'''
Error de variable no declarada
print(result)
# --> NameError: name 'result' is not defined
'''

print('Hola')


# assert() hace una verificacion y manda un AssertionError cuando no se cumple el “statement”
suma = lambda x,y: x + y
assert suma(2,2) == 4

'''
suma = lambda x, y: x + y
assert suma(2,2) == 5
# --> AssertionError
'''

print('Hola 2')


# raise Exception() levanta un error creado por nosotros mismos
age = 10
if age < 18:
  raise Exception('No se permiten menores de edad')

print('Hola 2')
```python print ("hola") # assert para verificar si el codigo o nuestras funciones estan correctas suma = lambda x, y : x+y assert suma (5,5) == 10 print (" hola 2 ") # crear una excepcion de no se permiten menores de edad edad = 10 if edad < 18: raise Exception(" No se perimiten menores de edad ") ```print ("hola") \# assert para verificar si el codigo o nuestras funciones estan correctassuma = lambda *x*, *y* : *x*+*y*assert suma (5,5) == 10 print (" hola 2 ") \# crear una excepcion de no se permiten menores de edadedad = 10if edad < 18:    raise Exception(" No se perimiten menores de edad ")

Built-in Exceptions
The table below shows built-in exceptions that are usually raised in Python:
.
Exception Description
ArithmeticError Raised when an error occurs in numeric calculations
AssertionError Raised when an assert statement fails
AttributeError Raised when attribute reference or assignment fails
Exception Base class for all exceptions
EOFError Raised when the input() method hits an “end of file” condition (EOF)
FloatingPointError Raised when a floating point calculation fails
GeneratorExit Raised when a generator is closed (with the close() method)
ImportError Raised when an imported module does not exist
IndentationError Raised when indentation is not correct
IndexError Raised when an index of a sequence does not exist
KeyError Raised when a key does not exist in a dictionary
KeyboardInterrupt Raised when the user presses Ctrl+c, Ctrl+z or Delete
LookupError Raised when errors raised cant be found
MemoryError Raised when a program runs out of memory
NameError Raised when a variable does not exist
NotImplementedError Raised when an abstract method requires an inherited class to override the method
OSError Raised when a system related operation causes an error
OverflowError Raised when the result of a numeric calculation is too large
ReferenceError Raised when a weak reference object does not exist
RuntimeError Raised when an error occurs that do not belong to any specific exceptions
StopIteration Raised when the next() method of an iterator has no further values
SyntaxError Raised when a syntax error occurs
TabError Raised when indentation consists of tabs or spaces
SystemError Raised when a system error occurs
SystemExit Raised when the sys.exit() function is called
TypeError Raised when two different types are combined
UnboundLocalError Raised when a local variable is referenced before assignment
UnicodeError Raised when a unicode problem occurs
UnicodeEncodeError Raised when a unicode encoding problem occurs
UnicodeDecodeError Raised when a unicode decoding problem occurs
UnicodeTranslateError Raised when a unicode translation problem occurs
ValueError Raised when there is a wrong value in a specified data type
ZeroDivisionError Raised when the second operator in a division is zero

me atrevería a decir que esta es una de las clases más importantes del presente curso

Algunos de los tipos de excepciones más comunes en Python incluyen:

SyntaxError: Se produce cuando el código no sigue la sintaxis válida de Python.
NameError: Ocurre cuando se utiliza una variable o un nombre no definido en el contexto actual.
TypeError: Se genera cuando se realiza una operación en un objeto de un tipo incorrecto.
ValueError: Sucede cuando una función recibe un argumento de tipo correcto, pero con un valor incorrecto.
FileNotFoundError: Ocurre cuando se intenta abrir un archivo que no existe.
ZeroDivisionError: Se produce cuando se intenta dividir un número entre cero.

Ejemplo básico de cómo se maneja una excepción en Python:

try:
    x = 10 / 0  # Intentando dividir entre cero
except ZeroDivisionError:
    print("Error: No es posible dividir entre cero.")

#print(0 / 0)

#print(result)
print(3)

suma = lambda x,y: x+y
assert suma(2,2) == 4

print(4)

age = 10
if age > 18:
  raise Exception('No se permiten menores de edad')

print(5)
  

Me encantó esta clase. El conocer las excepciones y manejarlas nos permite poder desarrollar códigos con mejores estándares. Espero más adelante nos expliquen la diferencia entre excepciones del sistema y excepciones del negocio

las excepciones se parecen mucho al if y al else if solo que el codigo no se ejecuta mas

#Errores en Python
#Cuando aparece un error, el programa colapsa no importa 
#si esta bien lo que sigue
#print(0/0) #ZeroDivisionError Exception
#print(result) #NameError Exception

print("Hola")
#assert: se usa para verificar
#si se verifica no pasa nada, pero si no, ocurre un error
suma=lambda x,y:x+y
assert suma(2,2)==4 #AssertionError Exception
print("Hola")

#Yo puedo lanzar mis propias excepciones
edad=10

if edad<18:
    raise Exception("No se permite menores de edad")
#print(0/0)
#print(result)
print('Hola')

suma= lambda x, y: x + y
assert suma(2, 2) == 4

print('Hola 2')

age = 10
if age < 18:
  raise Exception('No se permite menores de edad')

print ('Hola 3')