先上代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body><p>请输入 5 和 10 之间的一个数:</p><input id="demo" type="text">
<button type="button" onclick="myFunction()">检测输入</button>
<p id="message"></p><script>
function myFunction() {
var message, x;message = document.getElementById("message");message.innerHTML = "";x = document.getElementById("demo").value;try {
if(x == "") throw "为空";if(isNaN(x)) throw "不是一个数字";if(x > 10) throw "太大了";if(x < 5) throw "太小了";}catch(err) {
message.innerHTML = "输入的值 " + err;}
}
</script>
try…catch语句的意思是:如果try代码块里的语句发生了错误哦,则执行catch内的代码。
利用该语句的以上规则,可以再利用一下throw语句。
throw语句的含义是抛出一个自定义错误(专业一点叫抛出异常),语句后面引号中的内容是自定义错误的内容。于是,把throw写入try后,有了生造的错误。这时候再利用if语句,即可完成以上代码中的结构。如果不这样写,就需要新建一个变量存储原本抛出的自定义错误内容。(也不麻烦,用的代码行数是一样的。)
其实try…catch语句有点像if…else语句,只不过在try是一个自带条件的if(这个条件即为出现错误),在catch处,自动新建了一个名为err的变量存储错误文本。
使用try还有一个好处,如果try代码块里发生了错误,不会终止脚本的执行。