Declaración de lanzamiento de JavaScript

En este tutorial, aprenderá acerca de las declaraciones throw de JavaScript con la ayuda de ejemplos.

En el tutorial anterior, aprendió a manejar excepciones usando JavaScript declaración try… catch. Las sentencias try y catch manejan las excepciones de una forma estándar proporcionada por JavaScript. Sin embargo, puede utilizar la throwdeclaración para pasar excepciones definidas por el usuario.

En JavaScript, la throwdeclaración maneja las excepciones definidas por el usuario. Por ejemplo, si un determinado número se divide por 0 , y si necesita considerarlo Infinitycomo una excepción, puede usar la throwinstrucción para manejar esa excepción.

Declaración de lanzamiento de JavaScript

La sintaxis de la declaración throw es:

 throw expression;

Aquí, expressionespecifica el valor de la excepción.

Por ejemplo,

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

Nota : La expresión puede ser una cadena, un valor booleano, un número o un valor de objeto.

Lanzamiento de JavaScript con try … catch

La sintaxis de try… catch… throwes:

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

Nota : Cuando se ejecuta la instrucción throw, sale del bloque y se dirige al catchbloque. Y el código debajo de la throwdeclaración no se ejecuta.

Ejemplo 1: intentar … atrapar … lanzar Ejemplo

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

Salida

 Se ha detectado un error Mensaje de error: Error: el número es bajo

En el programa anterior, se comprueba una condición. Si el número es menor que 51 , se produce un error. Y ese error se arroja usando la throwdeclaración.

La throwdeclaración especifica la cadena The number is lowcomo una expresión.

Nota : También puede utilizar otros constructores incorporados por error para errores estándar: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, y RangeError.

Por ejemplo,

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

Relanzar una excepción

También puede usar una throwdeclaración dentro del catchbloque para volver a generar una excepción. Por ejemplo,

 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'); ) )

Salida

 Un error capturado Mensaje de error: Error: Este es el error de lanzamiento resuelto

En el programa anterior, la throwdeclaración se usa dentro del trybloque para detectar una excepción. Y la throwdeclaración se vuelve a lanzar en el catchbloque que se ejecuta si el catchbloque no puede manejar la excepción.

Aquí, el catchbloque maneja la excepción y no ocurre ningún error. Por tanto, la throwdeclaración no se repite.

Si el bloque de captura no manejó el error, la declaración de lanzamiento se volvería a generar con el mensaje de error Error no detectado: el valor es bajo

Articulos interesantes...