Declaração de lançamento de JavaScript

Neste tutorial, você aprenderá sobre as instruções throw do JavaScript com a ajuda de exemplos.

No tutorial anterior, você aprendeu a lidar com exceções usando a instrução try… catch do JavaScript. As instruções try e catch tratam as exceções de uma maneira padrão que é fornecida pelo JavaScript. No entanto, você pode usar a throwinstrução para passar exceções definidas pelo usuário.

Em JavaScript, a throwinstrução lida com exceções definidas pelo usuário. Por exemplo, se um determinado número é dividido por 0 , e se você precisa considerá-lo Infinitycomo uma exceção, você pode usar a throwinstrução para tratar essa exceção.

Declaração de lançamento de JavaScript

A sintaxe da instrução throw é:

 throw expression;

Aqui, expressionespecifica o valor da exceção.

Por exemplo,

 const number = 5; throw number/0; // generate an exception when divided by 0

Observação : a expressão pode ser string, booleana, número ou valor do objeto.

JavaScript lance com try … catch

A sintaxe de try… catch… throwé:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Nota : Quando a instrução throw é executada, ela sai do bloco e vai para o catchbloco. E o código abaixo da throwinstrução não é executado.

Exemplo 1: tente … pegar … jogar Exemplo

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Resultado

 Um erro detectado Mensagem de erro: Erro: o número é baixo

No programa acima, uma condição é verificada. Se o número for menor que 51 , um erro será gerado. E esse erro é lançado usando a throwinstrução.

A throwinstrução especifica a string The number is lowcomo uma expressão.

Nota : Você também pode usar outros construtores built-in de erro para erros padrão: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, e RangeError.

Por exemplo,

 throw new ReferenceError('this is reference error');

Relançar uma exceção

Você também pode usar a throwinstrução dentro do catchbloco para relançar uma exceção. Por exemplo,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Resultado

 Um erro detectado Mensagem de erro: Erro: Este é o lançamento Erro resolvido

No programa acima, a throwinstrução é usada dentro do trybloco para capturar uma exceção. E a throwinstrução é relançada no catchbloco que é executado se o catchbloco não puder tratar a exceção.

Aqui, o catchbloco trata a exceção e nenhum erro ocorre. Portanto, a throwinstrução não é relançada.

Se o erro não fosse tratado pelo bloco catch, a instrução throw seria relançada com a mensagem de erro Erro não capturado: o valor é baixo

Artigos interessantes...