1
+ #################### EXCEPCIONES EN PYTHON ############################
2
+
3
+ '''
4
+ Una excepción o un error de ejecución se produce durante la ejecución del programa.
5
+ Las excepciones se pueden manejar para que no termine el programa.
6
+ '''
7
+
8
+ # Excepción de división por cero
9
+ try :
10
+ a = 10 / 0
11
+ except ZeroDivisionError :
12
+ print ("No se puede dividir por cero" )
13
+ finally :
14
+ print ("Finalizó la ejecución" )
15
+
16
+ my_list = [i for i in range (5 )]
17
+
18
+ try :
19
+ print (my_list [5 ]) # Genera un IndexError
20
+ except IndexError :
21
+ print (f"Índice fuera de rango, mostramos el último elemento de la lista: { my_list [- 1 ]} " )
22
+
23
+ # Definir una excepción propia
24
+ '''
25
+ Para crear un tipo de excepción personalizada en Python, podemos definir una nueva clase que herede
26
+ de la clase base de excepciones.
27
+ Esto permite generar errores específicos para ciertos casos en tu aplicación.
28
+ '''
29
+ class MyException (Exception ):
30
+ def __init__ (self , message : str = "Error personalizado" ) -> None :
31
+ super ().__init__ (message )
32
+
33
+ try :
34
+ raise MyException ("Este es un error personalizado" )
35
+ except MyException as e :
36
+ print (f"Captura de la excepción: { e } " )
37
+
38
+ #################### FIN EXCEPCIONES EN PYTHON ############################
39
+
40
+ #################### EXTRA ############################
41
+
42
+ def my_exception_managment (value1 : int = 0 , value2 : int = 0 , value3 : tuple = (), boolvalue : bool = True ) -> None :
43
+ try :
44
+ return value1 / value2
45
+ except ZeroDivisionError :
46
+ print ("No se puede dividir por cero" )
47
+
48
+ try :
49
+ value2 + value3
50
+ except TypeError :
51
+ print ("No se puede sumar un entero con un string" )
52
+
53
+ try :
54
+ print (value4 )
55
+ except NameError :
56
+ print ("La variable no está definida" )# No se puede acceder a una variable no definida
57
+ finally :
58
+ print ("Finalizó la ejecución" )
59
+
60
+ my_exception_managment (10 , 0 , (1 , 2 , 3 ), True )
61
+
62
+ #################### FIN EXTRA ############################
0 commit comments