เวอร์ชันล่าสุดของ JavaScript เพิ่มความสามารถในการจัดการข้อยกเว้น JavaScript รองรับโครงสร้าง try...catch...finally และตัวดำเนินการ throw เพื่อจัดการข้อยกเว้น
คุณสามารถ catch ข้อยกเว้นที่โปรแกรมเมอร์สร้างและ runtime exceptions ได้ แต่ไม่สามารถจับ JavaScript syntax errors ได้
ไวยากรณ์ของบล็อก try...catch...finally มีดังนี้:
<script>
<!--
try {
// Code to run
[break;]
}
catch (e) {
// Code to run if an exception occurs
[break;]
}
[finally {
// Code that is always executed regardless of
// an exception occurring
}]
//-->
</script>
ตัวอย่าง
ลองรันโค้ดด้านล่างเพื่อใช้งานคำสั่ง try...catch...finally ใน JavaScript
<html>
<head>
<script>
<!--
function myFunc() {
var a = 100;
try {
alert("Value of variable a is : " + a);
}
catch (e) {
alert("Error: " + e.description);
}
finally {
alert("Finally block will always execute!");
}
}
//-->
</script>
</head>
<body>
<p>Click the following to see the result:</p>
<form>
<input type="button" value="Click Me" onclick="myFunc();" />
</form>
</body>
</html>