En este artículo, intentaremos comprender cómo podemos aumentar la legibilidad de múltiples bloques try/catch en JavaScript con la ayuda de ciertos ejemplos de codificación.
Entendamos primero el hecho de cómo podemos declarar un bloque try/catch simple (aunque en número múltiple) y también cómo podemos arrojar un error con la ayuda de las siguientes sintaxis ilustradas.
Sintaxis: A continuación se muestra la sintaxis por la cual podemos declarar múltiples bloques try/catch en JavaScript:
try { // Here we will add all those variables // or methods which tends to or responsible // for causing error or exception laterwards } catch(error_variable){ // Here we will do something with the // error_variable either handle it or // print it as per need } ... // We may add many more such blocks // as per the requirement...
La siguiente sintaxis mostrada muestra que podemos generar un error en JavaScript:
thrown new Error(errorMessage); // errorMessage is in the form of string itself
Echemos ahora un vistazo a la siguiente sección ilustrada que contiene ejemplos de codificación donde, al principio, veremos cómo podemos crear múltiples bloques de prueba/captura, y luego veremos cómo podemos evitar dichos bloques para aumentar su legibilidad para cualquiera de sus usuarios.
Ejemplo 1:
- En este ejemplo, declararemos múltiples bloques try/catch dentro de la función principal.
- Dentro de esos múltiples bloques de prueba/captura, agregaremos también varios métodos que arrojan errores uno tras otro.
- Además, después de detectar todos los errores arrojados por diferentes funciones, llamaremos a nuestra función principal que mostrará todos los mensajes de error.
Javascript
<script> let first_error_function = (errorMessage) => { throw new Error(errorMessage); }; let second_error_function = (errorMessage) => { throw new Error(errorMessage); }; let third_error_function = (errorMessage) => { throw new Error(errorMessage); }; let catchingErrors = () => { try { let result = first_error_function( "Error 404 !!...."); console.log(result); } catch (error) { console.log(error.message); } try { let result = second_error_function( "Something went wrong!!...."); console.log(result); } catch (error) { console.log(error.message); } try { let result = third_error_function( "Please try again later!!...."); console.log(result); } catch (error) { console.log(error.message); } }; catchingErrors(); </script>
Producción:
Error 404 !!.... Something went wrong!!.... Please try again later!!....
Ejemplo 2:
- En este ejemplo, tendremos en cuenta la misma función desarrollada en el ejemplo anterior, pero aquí no crearemos múltiples bloques try/catch como hicimos en el ejemplo anterior.
- Aquí usaremos el concepto de la función de devolución de llamada (una función que se pasa como argumento en otra función para su ejecución).
- Aquí declararemos una función Wrapper (función auxiliar) dentro de la cual pasaremos dos parámetros, primero uno incluye la función de devolución de llamada y otro parámetro incluye el mensaje de error.
- Dentro de esa función Wrapper, declararemos un bloque try/catch solo dentro del cual se llama a la función de devolución de llamada que contiene el mensaje de error, y su error se almacena en caché en el propio bloque catch.
- En la función principal, llamaremos a nuestra función Wrapper dentro de la cual pasaremos la función en sí y el mensaje de error de la función como argumento.
- Al final, almacenaremos cada resultado en diferentes variables e imprimiremos el resultado en la consola del navegador.
Javascript
<script> let first_error_function = (errorMessage) => { throw new Error(errorMessage); }; let second_error_function = (errorMessage) => { throw new Error(errorMessage); }; let third_error_function = (errorMessage) => { throw new Error(errorMessage); }; let catchingAllErrors = (callback, content) => { try { callback(content); } catch (errorMessage) { return errorMessage; } }; let main_function = () => { let error_1 = catchingAllErrors( first_error_function, "Error 404!!..."); let error_2 = catchingAllErrors( second_error_function, "Something went wrong!!..." ); let error_3 = catchingAllErrors( third_error_function, "Please try again later!!...." ); console.log("First Catched Error: " + error_1); console.log("Second Catched Error: " + error_2); console.log("Third Catched Error: " + error_3); }; main_function(); </script>
Producción:
First Catched Error: Error: Error 404!!... Second Catched Error: Error: Something went wrong!!... Third Catched Error: Error: Please try again later!!....
Publicación traducida automáticamente
Artículo escrito por amansingla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA