JavaScript 错误 - Throw 和 Try to Catch 和 finally
try 语句使您能够测试代码块中的错误。
catch 语句允许您处理错误。
throw 语句允许您创建自定义错误。
finally 使您能够执行代码,在 try 和 catch 之后,无论结果如何。
输入验证案例:
<!DOCTYPE html>
<html>
<body>
<p>请输入 5 到 10 之间的数字:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">检测输入</button>
<p id="p01"></p>
<script>
function myFunction() {
var message, x;
message = document.getElementById("p01");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "是空的";
if(isNaN(x)) throw "不是数字";
x = Number(x);
if(x > 10) throw "太大";
if(x < 5) throw "太小";
}
catch(err) {
message.innerHTML = "输入:" + err;
}
finally {
document.getElementById("demo").value = "";
}
}
</script>
</body>
</html>
本例会检查输入,如果值是错误的,将抛出异常(err)。该异常(err)被 catch 语句捕获并显示一条自定义的错误消息,finally 语句无论结果如何都将在 try 和 catch 之后执行代码。