Skip to content

Commit 5e43caa

Browse files
authored
Merge pull request #9029 from Aleran07/ejercicio10
# 10 - Python
2 parents 6679f5f + 120954f commit 5e43caa

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# 10
2+
3+
# Manejo basico de excepciones
4+
try:
5+
x = 10 / 0
6+
except ZeroDivisionError:
7+
print("No se puede dividir por cero.")
8+
9+
# Capturar cualquier tipo de error
10+
try:
11+
num = int(input("Ingresa un número: "))
12+
except Exception as e:
13+
print("Hubo un error:", e)
14+
15+
# Manejo con else
16+
try:
17+
x = 10 / 2
18+
except ZeroDivisionError:
19+
print("Error")
20+
else: # solo se ejecuto si no hubo error
21+
print("Todo salió bien, x es:", x)
22+
23+
# Manejo con finally
24+
try:
25+
archivo = open("test.txt")
26+
except FileNotFoundError:
27+
print("Archivo no encontrado")
28+
finally: # Siempre se ejecuta, haya error o no
29+
print("Intento de abrir archivo finalizado.")
30+
31+
32+
"""* Crea una función que sea capaz de procesar parámetros, pero que también
33+
* pueda lanzar 3 tipos diferentes de excepciones (una de ellas tiene que
34+
* corresponderse con un tipo de excepción creada por nosotros de manera
35+
* personalizada, y debe ser lanzada de manera manual) en caso de error.
36+
* - Captura todas las excepciones desde el lugar donde llamas a la función.
37+
* - Imprime el tipo de error.
38+
* - Imprime si no se ha producido ningún error.
39+
* - Imprime que la ejecución ha finalizado."""
40+
41+
class MiPrimerError(Exception):
42+
pass # Excepcion creada por mi para mostrar que el saldo es insuficiente
43+
44+
saldo_en_la_cuenta = 100
45+
46+
def saldo_insuficiente(saldo):
47+
# 1 error saldo negativo
48+
if saldo < 0:
49+
raise ValueError("El saldo no puede ser negativo")
50+
51+
# 2 error saldo no es un numero
52+
if not isinstance(saldo, (int, float)):
53+
raise TypeError("El saldo debe ser un numero")
54+
55+
# 3 error saldo insuficiente
56+
if saldo > saldo_en_la_cuenta:
57+
raise MiPrimerError("El saldo supera al valor de la cuenta")
58+
59+
return saldo + saldo_en_la_cuenta
60+
61+
try:
62+
cuenta = saldo_insuficiente(150)
63+
print("Nuevo saldo en cuenta: ", cuenta)
64+
except Exception as e:
65+
print("Se produjo un error de tipo:", type(e).__name__)
66+
print("Mensaje del error:", e)
67+
else:
68+
print("No se produjo ningun error")
69+
finally:
70+
print("La ejecucion a finalizado")

0 commit comments

Comments
 (0)