Definir el manejo de excepciones en ES6

Excepción: Las excepciones son eventos no deseados que básicamente interrumpen el flujo normal del programa. Hay dos tipos de excepción en general: –

  • Síncrono (por ejemplo, errores de tiempo de ejecución)
  • Asíncrono (por ejemplo, errores del sistema)

Manejo de excepciones: a menudo ocurre una excepción en un programa que hace que el programa finalice abruptamente o de manera hostil. Manejar o prevenir el comportamiento imprevisto se denomina Manejo de excepciones. El manejo de excepciones se ocupa de las excepciones sincrónicas, como la entrada incorrecta del usuario, archivos inexistentes, etc. (incluye errores de tiempo de ejecución).

Por qué el manejo de excepciones: el manejo de excepciones básicamente garantiza que el programa no finalice abruptamente o que el flujo del programa no se interrumpa de manera hostil. Es posible generar informes de errores significativos y se pueden generar informes de errores comprensibles para los usuarios. 

ES6  (lenguaje de programación de secuencias de comandos ECMA versión 6) proporciona la característica importante del manejo de excepciones. Se logra mediante el uso de try block seguido de catch block o finalmente block. Como el bloque de prueba no existe solo, son seguidos por un bloque de captura o por un bloque finalmente . Existe en una de las tres formas: –

  • trata de atraparlo
  • intentar… finalmente
  • intentar… atrapar… finalmente

1. bloque try…catch: el código o las sentencias try en el bloque try se ejecutarán primero. Cada vez que ocurra la excepción , se colocará en Exception_var y el bloque catch seguirá ejecutándose.

Sintaxis: 

try {

    // try statements 
    // code to run
    
} catch (exception_var) {
    
    // catch statements
    // code to run 
    
}

2. bloque try…finally: En primer lugar , se ejecutarían las sentencias try . Después de eso , finalmente, se ejecutarán las declaraciones. Finalmente , el bloque siempre se ejecutará independientemente de si se produjo o no una excepción.

Sintaxis:

try {

    // try statements
    // code to run
    
} finally {

    // finally statements
    // code that is always executed
}

3. bloque try…catch…finally: el bloque  try se ejecuta al principio si ocurre una excepción, su valor se colocará enException_var y el bloque catch se ejecutará después de que se ejecute el bloque finalmente . Sin embargo, el bloque finalmente se ejecutará independientemente de las condiciones de la excepción o no. 

Sintaxis:

try {
 
   // try statements
   // code to run
   
 } catch (exception_var) {
 
     // catch statements
     // code to run if exception occurs
     
 } finally {
 
     // finally statements
     // code that is always executed
         
 }

Entendamos con los siguientes ejemplos:

Ejemplo 1: Tomemos un ejemplo de entrada de usuario incorrecta en la que el usuario divide el problema por cero «0». 

javascript

<script>
    var num = 5;
    var de_num = 0;
    try {
        if(de_num == 0) {
            throw "Divide by zero error";
        } else {
            var sol = num / de_num;
        }
    } catch(e) {
        console.log("Error : " + e);
    }
</script>

Producción: 

Error : Divide by zero error

Ejemplo 2: Tomemos otro ejemplo en el que se arroja un error de referencia cada vez que usamos una referencia de algo que no hemos declarado. En este ejemplo, no declaramos la función intencionalmente y la llamamos directamente, lo que causará ReferenceError. 

javascript

<script>
    try{
      ab();
      // We have not declared the
      // function ab anywhere
    } catch(e){
      console.log("Error : "+ e.name);
    }
</script>

e.name devolverá el nombre del error.

Producción:

Error : ReferenceError

Ejemplo 3: En nuestro ejemplo final, hemos escrito deliberadamente una instrucción para intentar bloquear sintácticamente lo incorrecto. No hemos encerrado correctamente la string entre comillas simples. Nos dará el SyntaxError.

javascript

<script>
    try {
        eval("alert('ES6 Exception Handling)");
    } catch(e){
        console.log("Error : " + e.name)
    }
</script>

Salida :

Error : SyntaxError

Publicación traducida automáticamente

Artículo escrito por avgaur22 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 *