Skip to content

Commit 752e513

Browse files
Spanish translation day 14 of 30
1 parent e9ea627 commit 752e513

File tree

2 files changed

+195
-2
lines changed

2 files changed

+195
-2
lines changed

Spanish/dia_13_Metodos_del_Objeto_Console/dia_13_metodos_del_objeto_console.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
</div>
1616

17-
[<< Día 12](../dia_12_Expresiones_Regulares/dia_12_expresiones_regulares.md) | [Día 14>>](..)
17+
[<< Día 12](../dia_12_Expresiones_Regulares/dia_12_expresiones_regulares.md) | [Día 14>>](../dia_14_Manejo_de_Errores/dia_14_manejo_de_errores.md)
1818

1919
![Thirty Days Of JavaScript](../images/banners/day_1_13.png)
2020

@@ -355,4 +355,4 @@ El console.clear() limpia la consola del navegador.
355355

356356
🎉 ¡FELICITACIONES! 🎉
357357

358-
[<< Día 12](../dia_12_Expresiones_Regulares/dia_12_expresiones_regulares.md) | [Día 14>>](..)
358+
[<< Día 12](../dia_12_Expresiones_Regulares/dia_12_expresiones_regulares.md) | [Día 14>>](../dia_14_Manejo_de_Errores/dia_14_manejo_de_errores.md)
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
<div align="center">
2+
<h1> 30 Días de JavaScript: Manejo de Errores</h1>
3+
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
4+
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
5+
</a>
6+
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
7+
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
8+
</a>
9+
10+
<sub>Autor:
11+
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
12+
<small> Enero, 2020</small>
13+
</sub>
14+
15+
</div>
16+
17+
[<< Día 13](../dia_13_Metodos_del_Objeto_Console/dia_13_metodos_del_objeto_console.md) | [Día 15>>](..)
18+
19+
![Thirty Days Of JavaScript](../images/banners/day_1_14.png)
20+
21+
- [Día 14](#día-14)
22+
- [Manejo de Errores](#manejo-de-errores)
23+
- [Tipo de Error](#tipo-de-error)
24+
- [Ejercicios](#ejercicios)
25+
- [Ejercicios:Nivel 1](#ejerciciosnivel-1)
26+
- [Ejercicios: Nivel 2](#ejerciciosnivel-2)
27+
- [Ejercicios:Nivel 3](#ejerciciosnivel-3)
28+
29+
# Día 14
30+
31+
## Manejo de Errores
32+
33+
JavaScript es un lenguaje de tipado libre. Algunas veces obtendrá un error en tiempo de ejecución cuando intente acceder a una variable no definida o llamar a una función no definida, etc.
34+
35+
JavaScript, al igual que python o Java, proporciona un mecanismo de gestión de errores para capturar los errores en tiempo de ejecución mediante el bloque try-catch-finally.
36+
37+
```js
38+
try {
39+
// código que puede arrojar un error
40+
} catch (err) {
41+
// código a ejecutar si se produce un error
42+
} finally {
43+
// código que se ejecutará independientemente de que se produzca un error o no
44+
}
45+
```
46+
47+
**try**: envuelve el código sospechoso que puede arrojar un error en un bloque try. La sentencia try nos permite definir un bloque de código para que se compruebe si hay errores mientras se ejecuta.
48+
49+
**catch**: escribe código para hacer algo en el bloque catch cuando se produce un error. El bloque catch puede tener parámetros que le darán información sobre el error. El bloque Catch se utiliza para registrar un error o mostrar mensajes específicos al usuario.
50+
51+
**finally**: El bloque finally se ejecutará siempre, independientemente de que se produzca un error. El bloque finally puede utilizarse para completar la tarea restante o para restablecer las variables que puedan haber cambiado antes de que se produzca el error en el bloque try.
52+
53+
**Example:**
54+
55+
```js
56+
try {
57+
let lastName = "Yetayeh";
58+
let fullName = fistName + " " + lastName;
59+
} catch (err) {
60+
console.log(err);
61+
}
62+
```
63+
64+
```sh
65+
ReferenceError: fistName no está definido
66+
at <anonymous>:4:20
67+
```
68+
69+
```js
70+
try {
71+
let lastName = "Yetayeh";
72+
let fullName = fistName + " " + lastName;
73+
} catch (err) {
74+
console.error(err); // podemos utilizar console.log() o console.error()
75+
} finally {
76+
console.log("In any case I will be executed");
77+
}
78+
```
79+
80+
```sh
81+
ReferenceError: fistName no está definido
82+
at <anonymous>:4:20
83+
En cualquier caso se ejecutará
84+
```
85+
86+
El bloque de captura toma un parámetro. Es habitual pasar e, err o error como parámetro al bloque catch. Este parámetro es un objeto y tiene las claves nombre y mensaje. Utilicemos el nombre y el mensaje.
87+
88+
```js
89+
try {
90+
let lastName = "Yetayeh";
91+
let fullName = fistName + " " + lastName;
92+
} catch (err) {
93+
console.log("Name of the error", err.name);
94+
console.log("Error message", err.message);
95+
} finally {
96+
console.log("In any case I will be executed");
97+
}
98+
```
99+
100+
```sh
101+
Name of the error ReferenceError
102+
Error message fistName is not defined
103+
In any case I will be executed
104+
```
105+
106+
throw: la sentencia throw nos permite crear un error personalizado. Podemos pasar una cadena, un número, un booleano o un objeto. Utilice la sentencia throw para lanzar una excepción. Cuando se lanza una excepción, la expresión especifica el valor de la excepción. Cada una de las siguientes acciones lanza una excepción:
107+
108+
```js
109+
throw "Error2"; // genera una excepción con un valor de cadena
110+
throw 42; // genera una excepción con el valor 42
111+
throw true; // genera una excepción con el valor true
112+
throw new Error("Required"); // genera un objeto de error con el mensaje de Requerido
113+
```
114+
115+
```js
116+
const throwErrorExampleFun = () => {
117+
let message;
118+
let x = prompt("Enter a number: ");
119+
try {
120+
if (x == "") throw "empty";
121+
if (isNaN(x)) throw "not a number";
122+
x = Number(x);
123+
if (x < 5) throw "too low";
124+
if (x > 10) throw "too high";
125+
} catch (err) {
126+
console.log(err);
127+
}
128+
};
129+
throwErrorExampleFun();
130+
```
131+
132+
### Tipo de Error
133+
134+
- ReferenceError: Se ha producido una referencia ilegal. Se lanza un ReferenceError si utilizamos una variable que no ha sido declarada.
135+
136+
```js
137+
let firstName = "Asabeneh";
138+
let fullName = firstName + " " + lastName;
139+
140+
console.log(fullName);
141+
```
142+
143+
```sh
144+
Uncaught ReferenceError: lastName is not defined
145+
at <anonymous>:2:35
146+
```
147+
148+
- SyntaxError: Se ha producido un error de sintaxis
149+
150+
```js
151+
let square = 2 x 2
152+
console.log(square)
153+
154+
console.log('Hello, world")
155+
```
156+
157+
```sh
158+
Uncaught SyntaxError: Unexpected identifier
159+
```
160+
161+
- TypeError: Se ha producido un error sobre el tipo
162+
163+
```js
164+
let num = 10;
165+
console.log(num.toLowerCase());
166+
```
167+
168+
```sh
169+
Uncaught TypeError: num.toLowerCase is not a function
170+
at <anonymous>:2:17
171+
```
172+
173+
Estos son algunos de los errores más comunes a los que te puedes enfrentar cuando escribes un código. Entender los errores puede ayudarte a saber qué errores has cometido y te ayudará a depurar tu código rápidamente.
174+
175+
🌕 Usted es impecable. Ahora, sabes cómo manejar los errores y puedes escribir una aplicación robusta que maneje entradas inesperadas del usuario. Acabas de completar los desafíos del día 14 y llevas 14 pasos en tu camino hacia la grandeza. Ahora haz algunos ejercicios para tu cerebro y para tus músculos.
176+
177+
## Ejercicios
178+
179+
### Ejercicios:Nivel 1
180+
181+
Practica
182+
183+
### Ejercicios:Nivel 2
184+
185+
Practica
186+
187+
### Ejercicios:Nivel 3
188+
189+
Practica
190+
191+
🎉 ¡FELICITACIONES! 🎉
192+
193+
[<< Día 13](../dia_13_Metodos_del_Objeto_Console/dia_13_metodos_del_objeto_console.md) | [Día 15>>](..)

0 commit comments

Comments
 (0)