Declaración de prueba de JavaScript ... captura ... finalmente

En este tutorial, aprenderá acerca de las declaraciones try… catch…. Finalmente para manejar excepciones en JavaScript con la ayuda de ejemplos.

Los bloques try, catchy finallyse utilizan para manejar excepciones (un tipo de error). Antes de conocerlos, debe conocer los tipos de errores en la programación.

Tipos de errores

En programación, puede haber dos tipos de errores en el código:

Error de sintaxis : Error en la sintaxis. Por ejemplo, si escribe consol.log('your result');, el programa anterior arroja un error de sintaxis. La ortografía de consolees un error en el código anterior.

Error en tiempo de ejecución : este tipo de error ocurre durante la ejecución del programa. Por ejemplo,
llamar a una función o variable no válida.

Estos errores que ocurren durante el tiempo de ejecución se denominan excepciones . Ahora, veamos cómo puede manejar estas excepciones.

Declaración de JavaScript try … catch

La try… catchdeclaración se usa para manejar las excepciones. Su sintaxis es:

 try ( // body of try ) catch(error) ( // body of catch )

El código principal está dentro del trybloque. Mientras se ejecuta el trybloque, si se produce algún error, se pasa al catchbloque. El catchbloque maneja los errores según las declaraciones de captura.

Si no se produce ningún error, tryse ejecuta el código dentro del bloque y catchse omite el bloque.

Ejemplo 1: Mostrar variable no declarada

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Salida

 NaN Un error capturado Mensaje de error: ReferenceError: a no está definido

En el programa anterior, no se define una variable. Cuando intenta imprimir la variable a, el programa arroja un error. Ese error está atrapado en el catchbloque.

Declaración de prueba de JavaScript … captura … finalmente

También puede usar la try… catch… finallydeclaración para manejar excepciones. El finallybloque se ejecuta tanto cuando el código se ejecuta correctamente como si se produce un error.

La sintaxis de try… catch… finallyblock es:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Ejemplo 2: intentar … atrapar … finalmente Ejemplo

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Salida

 NaN Un error capturado Mensaje de error: ReferenceError: a no está definido Finalmente se ejecutará cada vez

En el programa anterior, ocurre un error y ese error es detectado por el catchbloque. El finallybloque se ejecutará en cualquier situación (si el programa se ejecuta correctamente o si se produce un error).

Nota : Necesita usar catcho finallydeclaración tras trydeclaración. De lo contrario, el programa arrojará un error Uncaught SyntaxError: Missing catch o finalmente después del intento.

Prueba de JavaScript … captura en setTimeout

El try… catchno va a detectar la excepción si hubiera sucedido en " cronometrado " código, como en setTimeout (). Por ejemplo,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Lo anterior try… catchno funcionará porque el motor ya ha abandonado la try… catchconstrucción y la función se ejecuta más tarde.

El try… catchbloque debe estar dentro de esa función para detectar una excepción dentro de una función temporizada. Por ejemplo,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

También puede usar la throwdeclaración con la try… catchdeclaración para usar excepciones definidas por el usuario. Por ejemplo, cierto número se divide por 0 . Si desea considerarlo Infinitycomo un error en el programa, puede lanzar una excepción definida por el usuario utilizando la throwdeclaración para manejar esa condición.

Aprenderá sobre la instrucción throw de JavaScript en el siguiente tutorial.

Articulos interesantes...