1、try: 语句测试代码块的错误,一般把可能会出错的代码放到这里
2、catch: 只有try里面的代码块发生错误时,才会执行这里的代码,参数err记录着try里面代码的错误信息
3、finally: 无论有无异常里面代码都会执行
4、try catch缺点:
1.try catch耗性能
2.try catch捕获不到异步错误
3.try catch可能会导致报错点更模糊**
5、执行顺序
try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行(包括try和catch里面的return)
catch和finally里面,正常的代码会从上到下顺序执行
如果只是catch里面代码出错,则报catch里面的错误
如果catch和finally都出错则会报finally里面的错误
代码如下
<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>