Explica este código JavaScript
function greeting() {
throw "Hello world!";
}
function sayHi() {
try {
const data = greeting();
console.log("It worked!", data);
} catch (e) {
console.log("Oh no an error!", e);
}
}
sayHi();
- A:
"It worked! Hello world!"
- B:
"Oh no an error!" undefined
- C:
SyntaxError: can only throw Error objects
- D:
"Oh no an error! Hello world!"
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
D: "Oh no an error! Hello world!
La función
greeting
con la palabra reservadathrow
genera una excepción de tipostring
en el código.La función
sayHi
consta de una sentenciatry...catch
, recordemos que si no hay ningún tipo de excepción el código ejecuta el bloquetry
pero como si generamos una excepción entonces entramos al bloquecatch
donde el parámetroe
adopta el valor de la excepción, osea,Hello world!
. Por eso el resultado es"Oh no an error! Hello world!"