
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
What is the use of .stack property in JavaScript?
The Stack property in JavaScript is used to store and keep track of the errors and saves the information such as the type of the error, where the error is raised and the reason of the error. The path of the origin of the error is also stored in the stacks in JavaScript.
Stack is the error class property in JavaScript, which is also used to store the functions that are called, the order of the functions called too. The format of the error shown is as first, in the first line the type of the error will be displayed and then the colon is printed and then the reason why the error raised will be printed. In the second line the location of the raised error will be shown.
Format of an Error
This is the format displayed when the Reference Error is raised.
Uncaught ReferenceError ReferenceError: showStack is not defined //type:reason at onclick (c:\Users\abdur\Desktop\demo2\aaa.html:31:35) // location of error
Example 1
Following is an example which demonstrates the usage of the stack property.
function demo() { throw new Error("error"); } try{ demo() } catch(e) { console.log(e.stack) } demo();
Note − Stack is a non-standard property and may not be available in all environments.
Example 2
Following example creates and throws a user defined error, retrieves and displays the stack property of the generated error (object) −
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Stack Property - Error class</title> </head> <body> <script> function showStack() { var value = document.getElementById("input").value; try { if (isNaN(value)) throw new Error('This is not a number'); } catch (e) { document.getElementById('a').innerHTML = e.stack; } } </script> <h3> Shows error if input is given wrong. </h3> <h5>Enter a integer</h5> <input type="text" id="input"> <button type="submit" value="Click" onclick="showStack()" style="width:60px;height:30px"> Press </button> <p id="a"></p> </body> </html>
On execution the above program displays a text box and a button saying “Press”.
If you enter a non-numerical value and click on the button an error is generated and the contents of the stack of the generated error (class) will be displayed.
In the above example, the input is required to be an integer. But if the user enters a input which is not a number then, the stack property will store the error and prints all the errors which are in the program with the location as well as the type of the error.
Example 3
Now, let’s retrieve and print the contents of a predefined error.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Predefined Error</title> <script> function showStack() { try { writeFC(); } catch (e) { document.getElementById('a').innerHTML = e.stack ; } } function rightFC() { document.getElementById('a').innerHTML = e.stack ; } </script> </head> <body> <center> <h3>TUTORIALS POINT</h3> <p>Predefined error in JavaScript</p> <button onclick="showStack()">Press</button> <div id="erRes"></div> <p id="a"></p> </center> </body> </html>
In the above example, an error is raised and printed as the contents of the stack. In this example when the wrong function is called then the above output is displayed. Instead of rightFC() function, writeFC() function is called which is not defined in the program.
- Related Articles
- What is the Count property of Stack class in C#?
- What is the use of associative property
- What is the role of pageXOffset property in JavaScript?
- What is the role of scrollY property in JavaScript?
- What is the role of scrollX property in JavaScript?
- What is the use of Atomics in JavaScript?
- What is the use of OBJECT.assign() in javascript?
- What is the use of Map in JavaScript?
- What is the use of window.location in javascript?
- What is the use of sentry in javascript?
- What is the use of JavaScript cookies?
- What is the role of global RegExp property in JavaScript?
- What is the role of source RegExp property in JavaScript?
- What is the role of lastIndex RegExp property in JavaScript?
- What is the use of declaring variables in JavaScript?
