在js代码执行过程中一旦有错误,后续的相关代码都会终止,这样会使得我们的项目代码结构上很不健壮。在其他的一些编程语言中都有异常捕获的方法,提供了异常处理机制,可以处理出现的异常,而不会停止整个应用程序.在es3之后的版本中js也可以进行异常捕获,通过try{}catch{}
使的前端代码更加健壮。
Error具有下面一些主要属性:
1.description: 错误描述 (仅IE可用).
2.fileName: 出错的文件名 (仅Mozilla可用).
3.lineNumber: 出错的行数 (仅Mozilla可用).
4.message: 错误信息 (在IE下同description)
5.name: 错误类型.
6.number: 错误代码 (仅IE可用).
7.stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
一、异常捕获 try{}catch{}
例如
let str = 'cuiht';
str.push('test');
console.log('执行完毕');
将会执行报错,并阻塞后面的代码执行。如图:
而我们将异常捕获之后,就可以让代码正常执行。例如:
let str = 'cuiht';
try {
str.push('test');
} catch (error) {
console.log('代码执行出错!');
console.log(error);
}
console.log('代码执行完毕!');
执行结果如图:
一、异常抛出 throw
在我们执行程序的过程中,在不符合要求的情况终止程序进行,这时候我们就可以将异常抛出。
let subtract = (max,min) => {
if (min<=max) {
return max-min
} else {
throw '参数有误,减数小于被减数!'
}
console('已计算出结果!')
}
subtract(0,1)
执行结果如图:
配合
try{}catch{}
使用:
try {
subtract(0,1)
} catch (error) {
console.log(error);
}
try {
console.log(subtract(5,1));
} catch (error) {
console.log(error);
}
执行结果如图:第一个代码块报出错误,第二个代码块正常输入结果。
将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。
网友评论