Skip to content

Commit d70850b

Browse files
committed
✨ Add typescript solution
1 parent b76ac38 commit d70850b

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

2024/10-excepciones/solution.ts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Función que procesa parámetros y lanza excepciones
2+
function procesarParametros(param: number): void {
3+
try {
4+
if (param === 1) {
5+
throw "Excepción personalizada: El parámetro no puede ser igual a 1";
6+
} else if (param === 2) {
7+
throw new RangeError("Excepción: El parámetro no puede ser igual a 2");
8+
} else if (param === 3) {
9+
throw new Error("Excepción: El parámetro no puede ser igual a 3");
10+
} else {
11+
console.log("Parámetro procesado correctamente:", param);
12+
}
13+
} catch (error) {
14+
console.error("Se ha producido un error:", error);
15+
} finally {
16+
console.log("La ejecución ha finalizado.");
17+
}
18+
}
19+
20+
// Ejemplos de llamada a la función procesarParametros
21+
console.log("Llamada con parámetro 0:");
22+
procesarParametros(0);
23+
24+
console.log("\nLlamada con parámetro 1:");
25+
procesarParametros(1);
26+
27+
console.log("\nLlamada con parámetro 2:");
28+
procesarParametros(2);
29+
30+
console.log("\nLlamada con parámetro 3:");
31+
procesarParametros(3);
32+
33+
// Provocando errores adicionales
34+
try {
35+
console.log("\nIntentando dividir por cero (10/0):");
36+
let resultado: number = 10 / 0;
37+
console.log("Resultado:", resultado);
38+
} catch (error) {
39+
console.error("Se ha producido un error:", error);
40+
} finally {
41+
console.log("La ejecución ha finalizado.");
42+
}
43+
44+
try {
45+
console.log("\nIntentando acceder a un índice no existente:");
46+
let array: number[] = [1, 2, 3];
47+
console.log("Elemento en el índice 5:", array[5]);
48+
} catch (error) {
49+
console.error("Se ha producido un error:", error);
50+
} finally {
51+
console.log("La ejecución ha finalizado.");
52+
}

0 commit comments

Comments
 (0)