try/catch/finally
try/catch/finally 语句用于处理代码中可能出现的错误信息。
- try语句允许我们定义在执行时进行错误测试的代码块
- catch 语句允许我们定义当try代码块发生错误时,所执行的代码块
- finally语句在try和catch之后无论有无异常都会执行
注意 : catch 和 finally 语句都是可选的,但你在使用tyr语句时必须至少使用一个
提示:当错误发生时 , JavaScript会停止执行,并生成一个错误信息,使用throw语句来创建自定义消息(抛出异常) . 如果你将 throw 和 try 或 catch 一起使用,就可以控制程序输出的错误信息
try {
tryCode - 尝试执行代码块
}
catch (err) {
catchCode - 捕获错误的代码块
}
finally {
finallyCode - 无论 try / catch 结果如何都会执行的代码块
}
举个例子
用该方法写一个判断输入框内容,
一般来说,判断输入框数字大小可以用if语句判断来写,或者用正则表达式,但是用 try…catch 也可以写
<input type="text" id="conInp" name="" id="" />
<button id="btn">点击</button>
<span id="tipSpan"></span>
btn.onclick = function () {
try {
var value = conInp.value * 1;
if (isNaN(value)) throw "请输入数字";
if (value < 1000) throw "请输入大于一千的数";
if (value > 9999) throw "请输入小于9999的数";
throw "格式正确";
} catch (err) {
console.log(err);
tipSpan.textContent = err;
}
};
该方法还可以用来写兼容
function getStyle(ele, attr) {
try {
return window.getComputedStyle(ele)[attr];
} catch (err) {
return ele.currentStyle[attr];
}
}