try
语句使您能够测试代码块中的错误。
catch
语句允许您处理错误。
throw
语句允许您创建自定义错误。
当try中的代码块存在错误的时候,代码就会走到 catch 部分
<script>
try {
adddlert("欢迎访问!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
上面的代码 因为 try中 没有adddlert这个方法,或者这个方法有误,这时,代码会执行catch部分。
JavaScript 实际上会创建带有两个属性的 Error 对象:name
和 message
。
throw 语句
throw
语句允许您创建自定义错误。
<!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 < 5) throw "太小";
if(x > 10) throw "太大";
}
catch(err) {
message.innerHTML = "输入:" + err;
}
}
</script>
</body>
</html>
上面的代码解读,当在输入框中输入空格的时候, 就会抛出错误 “是空的” 这个操作会执行 catch err 传递的值就是 throw 丢出来的错误。
当输入的不是数字,则会抛出 ‘不是数字’ 的错误信息 到 catch的 err 中。