¿Cómo aumentar la legibilidad de múltiples intentos y capturas en JavaScript?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *