验证中...
开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约
语言: JavaScript
分类: Web开发技术
最后更新于 2018-12-09 10:36
index.html
原始数据 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>js收集脚本执行错误</title>
<style>
#error {
color: #069;
}
#errorInfo,
#error {
padding: 10px 30px;
}
</style>
</head>
<body>
<div id="error">
</div>
<div id="errorInfo">
</div>
<pre>
function error(msg, url, line) {
var REPORT_URL = "xxxx/cgi"; // 收集上报数据的信息
var m = [msg, url, line, navigator.userAgent, +new Date]; // 收集错误信息,发生错误的脚本文件网络地址,用户代理信息,时间
// 上传后台
}
</pre>
<script>
function error(msg, url, line) {
var REPORT_URL = "xxxx/cgi"; // 收集上报数据的信息
var m = [msg, url, line, navigator.userAgent, +new Date]; // 收集错误信息,发生错误的脚本文件网络地址,用户代理信息,时间
// 上传后台
}
// 监听错误上报
window.onerror = function (msg, url, line, column, errorObj) {
var html =
`
错误信息:${msg}
错误信息:${url}
出错行号:${line}
出错列号:${column}
错误详情:${errorObj}
错误类型:${errorObj.name}
`;
document.getElementById('error').innerText = html;
error(msg, url, line);
}
var html =
`
js的异常e除了e.message 和 e.lineNumber之外还有一个重要的属性 e.name
e.name 错误类型,
e.message 错误的详细信息.
Error.name的六种值对应的信息:
1. EvalError:eval()的使用与定义不一致
2. RangeError:数值越界
3. ReferenceError:非法或不能识别的引用数值
4. SyntaxError:发生语法解析错误
5. TypeError:操作数类型错误
6. URIError:URI处理函数使用不当
这样你的js代码在运行到有捕获异常的代码时,就算代码出错了,也会继续往下运行代码,不会停止,而且使用了异常对js的调试也有一定的帮助。
`
document.getElementById('errorInfo').innerText = html;
console.log(names);
</script>
</body>
</html>

评论列表( 0 )

你可以在登录后,发表评论

搜索帮助