Error Handling in JavaScript
JavaScript Try…Catch Statement
The try…catch statement allows you to test a block of code for errors.
Try…Catch Statement
The try…catch statement allows you to test a block of code for errors. The try block contains the code to be run, and the catch block contains the code to be executed if an error occurs.
Syntax
try
{
//Run some code here
}
catch(err)
{
//Handle errors here
}
Note that try…catch is written in lowercase letters. Using uppercase letters will generate a JavaScript error!
Example 1
The example below contains a script that is supposed to display the message “Hello World!” when you click on a button. However, there’s a typo in the message() function. alert() is misspelled as allert(). A JavaScript error occurs:
<html>
<head>
<script type=”text/javascript”>
function message()
{
allert(”Hello World!”)
}
</script>
</head>
<body>
<input type=”button” value=”View message” onclick=”message()” />
</body>
</html>
To take more appropriate action when an error occurs, you can add a try…catch statement.
The example below contains the “Hello World!” example rewritten to use the try…catch statement. Since alert() is misspelled, a JavaScript error occurs. However, this time, the catch block catches the error and executes a custom code to handle it. The code displays a custom error message informing the user what happened:
<html>
<head>
<script type=”text/javascript”>
var txt=”"
function message()
{
try
{
allert(”Hello World!”)
}
catch(err)
{
txt=”There was an error on this page.\n\n”
txt+=”Error description: ” + err.description + “\n\n”
txt+=”Click OK to continue.\n\n”
alert(txt)
}
}
</script>
</head>
<body>
<input type=”button” value=”View message” onclick=”message()” />
</body>
</html>
JavaScript Throw Statement
The throw statement allows you to create an exception.
The Throw Statement
The throw statement allows you to create an exception. If you use this statement together with the try…catch statement, you can control program flow and generate accurate error messages.
Syntax
throw(exception)
The exception can be a string, integer, Boolean or an object.
Note that throw is written in lowercase letters. Using uppercase letters will generate a JavaScript error!
Example 1
The example below determines the value of a variable called x. If the value of x is higher than 10 or lower than 0 we are going to throw an error. The error is then caught by the catch argument and the proper error message is displayed:
<html>
<body>
<script type=”text/javascript”>
var x=prompt(”Enter a number between 0 and 10:”,”")
try
{
if(x>10)
throw “Err1″
else if(x<0)
throw “Err2″
}
catch(er)
{
if(er==”Err1″)
alert(”Error! The value is too high”)
if(er == “Err2″)
alert(”Error! The value is too low”)
}
</script>
</body>
</html>
