- try statement allows to analyse block of code for errors.
- catch statement allows to handle error.
- throw statement allows to create custom errors.
- finally statement allows to carry out code, after try & catch, regardless of result.
Try and Catch
JS statements try and catch come in pairs.
try {
Block of code to try
}
catch(err) {
Block of code to handle errors
}
Throws Error
throw "Too big"; // throw a text throw 500; // throw a number
You can simply generate custom error messages and control program flow if you use throw together with try and catch.
Input Validation
<!DOCTYPE html>
<html>
<body>
<p>Input Number Between 2 and 5 Below</p>
<input id="ex" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>
<script>
function myFunction() {
var message, a;
message = document.getElementById("message");
message.innerHTML = "";
a = document.getElementById("ex").value;
try {
if(a == "") throw "empty";
if(isNaN(a)) throw "not a number";
x = Number(a);
if(a < 2) throw "Too Low!";
if(a > 5) throw "Too High!";
}
catch(err) {
message.innerHTML = "Input Is " + err;
}
}
</script>
</body>
</html>
Output :


Finally Statement
<!DOCTYPE html>
<html>
<body>
<p>Input Number Between 2 and 5 Below</p>
<input id="ex" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>
<script>
function myFunction() {
var message, a;
message = document.getElementById("message");
message.innerHTML = "";
a = document.getElementById("ex").value;
try {
if(a == "") throw "is empty";
if(isNaN(a)) throw "is not a number";
a = Number(a);
if(a > 5) throw "is Too High";
if(a < 2) throw "is Too Low!";
}
catch(err) {
message.innerHTML = "Input " + err;
}
finally {
document.getElementById("ex").value = "";
}
}
</script>
</body>
</html>
Output :


