javascript捕获异常的方法有哪些
时间:2021-07-31
来源:互联网
今天PHP爱好者给大家带来javascript捕获异常的方法:1、使用try catch finally语句,语法“try{//调试代码块}catch(e) {//捕获处理异常}finally{//后期清理代码块}”;2、使用窗口对象window的onerror事件。希望对大家有所帮助。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript捕获异常的方法
JavaScript
的异常主要使用try catch finally
语句以及窗口对象window
的onerror
事件来捕获。
try catch finally
try catch finally
只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。try catch finally
语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
try{
// try_statements
throw new TypeError("Test");
}catch (e){
// catch_statements
console.log("catch_statements");
if(e instanceof TypeError){
// handle this expected error
console.log("handle this expected error");
}else{
// handle unexpected error
console.log("handle unexpected error");
}
}finally{
// finally_statements
console.log("finally_statements");
}
/*
注:
[catch (e if e instanceof TypeError) { // 非标准
catch_statements
}]
*/
通过Error
的构造器可以创建一个错误对象,当运行时错误产生时,Error
的实例对象会被抛出,Error
对象也可用于用户自定义的异常的基础对象,Js
内建了几种标准错误类型:
EvalError
: 创建一个error
实例,表示错误的原因:与eval()
有关。RangeError
: 创建一个error
实例,表示错误的原因:数值变量或参数超出其有效范围。ReferenceError
: 创建一个error
实例,表示错误的原因:无效引用。SyntaxError
: 创建一个error
实例,表示错误的原因:eval()
在解析代码的过程中发生的语法错误。TypeError
: 创建一个error
实例,表示错误的原因:变量或参数不属于有效类型。URIError
: 创建一个error
实例,表示错误的原因:给encodeURI()
或decodeURl()
传递的参数无效。
window.onerror
window.onerror
可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window
执行的Js
脚本出错都会捕捉到,通过window.onerror
可以实现前端的错误监控。出于安全方面的考虑,当加载自不同域的脚本中发生语法错误时,语法错误的细节将不会报告。
/*
message:错误信息(字符串)。
source:发生错误的脚本URL(字符串)
lineno:发生错误的行号(数字)
colno:发生错误的列号(数字)
error:Error对象(对象)
若该函数返回true,则阻止执行默认事件处理函数。
*/
window.onerror = function(message, source, lineno, colno, error) {
// onerror_statements
}
/*
ErrorEvent类型的event包含有关事件和错误的所有信息。
*/
window.addEventListener('error', function(event) {
// onerror_statements
})
以上就是javascript捕获异常的方法有哪些的详细内容,更多请关注php爱好者其它相关文章!
-
币安怎么购买First币?First购买教程与币安binance下载入口 时间:2025-05-15
-
币安怎么购买Pay币?Pay购买教程与币安binance下载入口 时间:2025-05-15
-
《“马上就到”的距离单位是什么?》 时间:2025-05-15
-
币安怎么购买Attention币?Attention购买教程与币安binance下载入口 时间:2025-05-15
-
币安怎么购买MATIC币?MATIC购买教程与币安binance下载入口 时间:2025-05-15
-
《为什么我的灵感总是在洗澡的时候出现?》 时间:2025-05-15
今日更新
-
深入浅析PHP中的建造者模式
阅读:18
-
javascript 没有类吗
阅读:18
-
html css怎么隐藏滚动条
阅读:18
-
javascript数组的map方法怎么用
阅读:18
-
php怎么设置画布颜色
阅读:18
-
JavaScript怎么实现页面的刷新
阅读:18
-
php错误哪几种
阅读:18
-
CSS+JS如何制作皮卡丘动画(代码分析)
阅读:18
-
ps基础知识:手把手教你笔刷导入(图文详解)
阅读:18
-
webstorm的css怎么设置变成只有一行
阅读:18