Bake Time es-419 explainer

Explicación de Hora de hornear

Objetivo de este acertijo:

Lograr que el código cree un error, luego capturarlo con una declaración try…catch.

Tutorial de la solución:

El código de inicio importa una función que se llama startTimer(). Este método espera un número como argumento. Si el argumento no es un número, la función genera un error. Esta es una capacidad especial en JavaScript que se llama throw (lanzar) un error. Este error se puede capturar con la declaración try…catch.

Cambia el argumento en la llamada de la función al string 'thirty'. Cuando el código se ejecute nuevamente, startTimer() lanzará un error. El bloque catch capturará el error y ejecutará el código dentro del bloque.

Pero no se imprime nada. console.log() necesita un argumento. El bloque catch nos da una variable con el error en el paréntesis en la línea } catch (e) {. Agrega esa variable como argumento a console.log().

Ahora, cuando se ejecute el código, la consola registrará el mensaje de error.

Solución del código de ejemplo:
(Pulsa a continuación para revelar)

import {startTimer} from 'cookbook';

try {
    startTimer('thirty');
} catch (e) {
    console.log(e);
}

Conceptos de JavaScript: number, string, try...catch block

Código adicional Código adicional (código oculto que se ejecuta antes del código del acertijo):

function _startTimer(time){
   if(isNaN(time)){
       throw new Error('time must be a number');
   } else {
       console.log('Timer set for ' + time + ' minutes');
   }
}

defineModule(
    'cookbook',
    {
        startTimer: _startTimer,
    }
);
1 Like