¿Yunnan Java Training School te informa sobre posibles errores en JavaScript?
Cómo funciona la pila de llamadas
Antes de discutir los errores en JS, debemos comprender el mecanismo de funcionamiento de CallStack. De hecho, el mecanismo es muy sencillo. Si sabes esto, puedes saltarte esta parte.
En pocas palabras: cuando se llama a una función, se agregará a la parte superior de la pila de llamadas y, después de la ejecución, se eliminará de la parte superior de la pila de llamadas. La clave de esta estructura de datos es LIFO, también conocida como LIFO. Por ejemplo, cuando llamamos a una función, normalmente arrojamos un objeto de error. Los objetos de error se pueden utilizar como prototipos para ampliar y crear tipos de error personalizados. El prototipo del objeto de error tiene las siguientes propiedades:
Constructor_El constructor prototipo responsable de esta instancia;
Mensaje_error;
Nombre_El nombre del error;
Los anteriores son todos atributos estándar. Algunos entornos de ejecución de JS también proporcionan atributos distintos de los atributos estándar, como Node.js, Firefox, Chrome, Edge, IE10, Opera y Safari6+, todos los cuales incluyen códigos de error. La pila de llamadas, la llamaremos pila de errores para abreviar. La pila de errores contiene la información completa de la pila de llamadas cuando ocurrió el error. Si desea obtener más información sobre las propiedades no estándar del objeto Error, le recomiendo leer este artículo de MDN.
Al generar un error, se debe utilizar la palabra clave throw. Para detectar errores arrojados, un bloque de código potencialmente erróneo debe incluirse en una declaración trycatch. Al capturar, puede recibir un parámetro, que es el error que se genera. Al igual que Java, JS también puede tener finalmente después de la declaración trycatch. Independientemente de si el código anterior arroja un error, el código finalmente se ejecutará. Un uso común de este lenguaje es hacer una limpieza al final.
Recorte de pila de errores
Solo Node.js admite esta característica, que se implementa a través de error.capturestacktrace. Error.captureStackTrace recibe un objeto como 1 parámetro y una función opcional como 2 parámetros. Capacitación de TI/piensa que lo que hace es capturar la pila de llamadas actual y cortarla. La pila de llamadas capturada se registrará en el atributo de la pila con 1 parámetro y el punto de referencia de corte son 2 parámetros. Es decir, la llamada anterior a esta función se registrará en la pila de llamadas, pero las llamadas posteriores no.