Bake Time pt-br Explainer

Explicação de Hora de assar

Objetivo deste desafio:
Fazer com que o código crie um erro e capturá-lo com um comando try…catch.

Passo a passo da solução:
O código inicial importa uma função chamada startTimer(). Esse método espera um número como argumento. Se o argumento não for um número, a função causa um erro. Essa é uma capacidade especial do JavaScript chamada gerar um erro. Esse erro pode ser capturado com um comando try…catch.

Mude o argumento na chamada de função para a string 'thirty'. Quando o código for executado novamente, startTimer() vai gerar o erro. O bloco de catch vai capturar o erro e executar o código dentro do bloco.

Mas nada será impresso ainda. console.log() precisa de um argumento. O bloco de catch fornece uma variável com o erro entre parênteses na linha:

} catch (e) {

Adicione a variável como argumento de console.log()

Dessa vez, quando o código for executado, o console vai registrar a mensagem de erro.

Solução do código de exemplo:
(Toque abaixo para revelar)

import {startTimer} from 'cookbook';

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

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

Código adicional
(código oculto executado antes do código do desafio):

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,
    }
);