JavaScript Error.prototype.stack Propiedad

Para manejar cualquier error que ocurra durante la ejecución, se utilizan los métodos de manejo de errores .

En estos métodos, el tipo de error donde se presenta y las razones se dan en un orden o secuencia definida. Las estructuras de pila se utilizan para almacenar estas secuencias. En JavaScript, todos los errores y sus detalles se almacenan en pilas junto con la ruta desde donde se originaron y dónde se muestran con un error.

Error.prototype.stack es una propiedad de la clase de error en JavaScript que representa una pila no estándar que se usa para mantener registros de las funciones que se llaman, su orden, etc.

Cuando ocurre un error, el contenido de esta pila se imprime como una salida, lo que permite a los programadores rastrear las llamadas de función en dirección hacia atrás y averiguar dónde se originó el error. También indica el nombre del archivo y el número de línea donde ocurrió el error por algunas razones específicas. Es mejor usarlo para fines de depuración.

Ejemplo 1: el siguiente código crea una función que verifica si el valor ingresado es un número o no. Si no encuentra un número, arroja un error cuyo contenido de la pila se imprime en un cuadro de alerta como se muestra. 

Stack se rastrea para encontrar un error, a partir de la salida está claro que primero se muestra el nombre del archivo donde ocurrió el error y luego la línea junto con el motivo por el cual ocurrió el error. También podemos registrar este error en nuestra consola.

HTML

<!DOCTYPE html>
<html>
  
<head>
    <title>Error.prototype.stack</title>
      
    <script>
        function check() {
            var val = document.getElementById("inputID").value;
            try {
                if (isNaN(val)) throw new Error('Not a number!');
            }
            catch (e) {
                alert(e.stack);
            }
        }
    </script>
</head>
  
<body>
    <h2>
        This is a form where if wrong input is 
        given then error is thrown with details.
    </h2>
  
    <br />
    <h4> Please enter an integer:</h4>
    <input type="text" id="inputID">
  
    <button type="submit" value="Click" 
        onclick="check()" 
        style="width:50px;height:25px">
        Click
    </button>
    <br />
</body>
  
</html>

Producción:

  

Ejemplo 2: estamos tratando de tomar un método en el que el sistema genera el error y no el usuario.

Podemos ver cómo funciona Error.prototype.Stack para todos los tipos de errores, ya sea definido por el usuario o no. También podemos usar otras propiedades de la clase de error para investigar más sobre ellos, su nombre, mensajes y muchos más.

HTML

<!DOCTYPE html>
<html>
  
<head>
    <title>Error.prototype.stack</title>
  
    <script>
        function check() {
  
            try {
                chec2();
  
                // Calling a wrong function name by mistake
                // it will raise error in runtime
            }
            catch (e) {
                alert(e.stack);
  
            }
        }
        function check2() {
            alert("Correct Function called");
        }
    </script>
</head>
  
<body>
    <center>
        <h2 style="color:green">GeeksforGeeks</h2>
  
        <b>This is predefined error type of JavaScript</b>
        <br /><br />
        <button onclick="check()">Click</button><br />
        <div id="errorResult"></div>
    </center>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:

  • Después de hacer clic en el botón:

Publicación traducida automáticamente

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