- 31
- 0
- 约8.6千字
- 约 8页
- 2017-07-05 发布于天津
- 举报
js的异常处理方法.pdf
j s 的异常处理⽅法
考虑到 JS 中的错误可⽐服务器端的代码产⽣的错误要多得多,并且还难以发现及修
正, 以 JS 代码必须有异常处理以及全局⼀场处理。
try {
//这段代码从上往下运⾏,其中任何⼀个语句抛出异常该代码块就结束运⾏
}
catch (e) {
// 如果try代码块中抛出了异常,catch代码块中 代码就会被执⾏。
//e是⼀个局部变量,⽤来指向Error对象或者其他抛出 对象
}
finally {
//⽆论try中代码是否有异常抛出 (甚⾄是try代码块中有return语句),fina
}
⼀:Error属性
Error有两个基本的属性 name 和 message 。message⽤来表⽰异常的详细信息。⽽
name指的是Error对象的构造函数。此外,不同的j s引擎对Error还各⾃提供了⼀些扩
展,例如mozilla提供了fileName (异常出现的⽂件名称)和linenumber (异常出现的⾏
号)的扩展,⽽IE提供了number (错误号)的⽀持。不过name和message是两个基本的
属性,在firefox和ie 中都能够⽀持。
⼆:Error类型
Javascript 中Error还有⼏个⼦类EvalError ,RangeError ,ReferenceError ,SyntaxError ,
TypeError ,URIError ,
EvalError :错误发⽣在eval ) 中
SyntaxError :语法错误,错误发⽣在eval ) 中,因为其它点发⽣SyntaxError会
⽆法通过解释器
RangeError :数值超出范围
ReferenceError :引⽤不可⽤
TypeError :变量类型不是预期的
URIError :错误发⽣在encodeURI )或decodeURI ) 中
三:全局异常处理
j avascript的window对象有⼀个特别的属性onerror ,如果你将某个function赋值给
window的onerror属性,那么但凡这个window 中有j avascript错误出现,该function都会
被调⽤,也就是说这个function会成为这个window的错误处理句柄。不过,需要注意
的是,我们需要让下⾯这段代码成为⽂件中的第⼀⾏代码:
window .onerror = function msg , url , line) {
return true;
}
onerror句柄会3个参数分别是错误信息提⽰,产⽣错误的j avascript的document ulr ,错
误出现的⾏号。
onerroe句柄的返回值也很重要,如果句柄返回true ,表⽰浏览器⽆需在对该错误做额
外的处理,也就是说浏览器不需要再显⽰错误信息。⽽如果返回的是false ,浏览器还
是会提⽰错误信息。
前端⼯程师都知道 JavaScript 有基本的异常处理能⼒。我们可以 throw
new Error(),浏览器也会在我们调⽤ API 出错时抛出异常。但估计
绝⼤多数前端⼯程师都没考虑过收集这些异常信息。反正只要 JavaScript
出错后刷新不复现,那⽤户就可以通过刷新解决问题,浏览器不会崩
溃,当没有发⽣过好了。这种假设在 Single Page App 流⾏之前还是成⽴
的。现在的 Single Page App 运⾏⼀段时间后状态复杂⽆⽐,⽤户可能进
⾏了若⼲输⼊操作才来到这⾥的,说刷新就刷新啊?之前的操作岂不要
完全重做? 以我们还是有必要捕获和分析这些异常信息的,然后我们
就可以修改代码避免影响⽤户体验。
捕获异常的⽅式
我们⾃⼰写的 throw new Error() 想要捕获当然可以捕获,因为我
们很清楚 throw 写在哪⾥了。但是调⽤浏览器 API 时发⽣的异常就不⼀
定那么容易捕获了,有些 API 在标准⾥就写着会抛出异常,有些 API 只
有个别浏览器因为
您可能关注的文档
最近下载
- Dalsa相机使用说明.pdf
- 2026年工程建设质量管理小组活动案例解析交流会资料汇编(中施企协 博鳌)_可搜索.pdf
- 2026年腾讯公司高管秘书面试技巧与答案.docx VIP
- 云南省昆明市第一中学2025届高三下学期第七次联考(一模)英语试题(含答案,无听力原文、答案及音频).pdf VIP
- 备战2025年深圳中考物理《热学、力学实验》含答案解析.docx VIP
- 备战2025年深圳中考物理《质量与密度、压强、浮力实验》含答案解析.docx VIP
- 2026年中考英语语法复习《宾语从句,定语从句和状语从句》真题模拟题汇编(原卷).docx VIP
- 2023年湖南省长沙中考数学试卷真题(含答案逐题详解)+2022年数学试卷及答案详解.docx
- 2026中考复习专题04:圆的常考模型汇总(原卷版) .pdf VIP
- 2026年中考英语语法复习《动词时态》真题模拟题汇编(原卷).docx VIP
原创力文档

文档评论(0)