先从上到下执行try里面的语句,一旦发现错误则跳出try,不再执行try下面的语句
如果try中发现错误,则执行catch中的语句,如果没有错误,则跳过catch
e是个系统封装好的对象,包含name和message两个属性,分别是错误名称(ex:ReferenceError)和错误信心(ex:b is not defined)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<title>Document</title>
</head>
<body>
<p>请输出一个 5 到 10 之间的数字:</p>
<input id="demo" type="text">
<button type="button" onClick="myFunction()">测试输入</button>
<p id="mess"></p>
</body>
<script type="text/javascript">
function myFunction() {
var x = document.getElementById("demo").value;
var y = document.getElementById("mess");
try {
// 取元素的值
if (x == "") throw "值为空"; //根据获取的值,抛出错误
if (isNaN(x)) throw "不是数字";
if (x > 10) throw "太大";
if (x < 5) throw "太小";
}
catch (err) {
y.innerHTML = "错误:" + err + "。"; //抓住上面throw抛出的错误,给p标签显示
} finally {
x.value = "";
if (x > 4 && x < 11) {
console.log("452")
y.innerHTML = "";
}
}
};
</script>
</html>