JavaScript FAQ(二十五 完)—— 错误处理
2009-09-19 07:00
393 查看
二十二、错误处理
1、禁止JS错误(Suppress JS Errors)
Q:我是否可以禁止JavaScript错误信息?
A:可以。要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分:
或者如何你有页面引入的.js文件,可以在其中使用相似代码(不使用SCRIPT标签)。关于可运行的代码实例,参考我们的错误处理演示程序。
2、添加你自己的错误处理程序(Adding Your Own Error Handler)
Q:我可以设置自己的错误处理程序吗?
A:当然可以。使用下面的JavaScript代码定义你自己的错误处理程序:
你的错误处理函数可以使用下列可选参数:
错误的文本描述
错误发生的页面地址
错误发生的行号
如果你希望这个错误处理函数在完成自定义的错误处理后,再调用浏览器的默认错误处理,就必须返回false。如果你不想调用浏览器的默认错误处理机制,函数就必须返回true。代码示例参考错误处理演示程序。
3、错误处理演示程序(Error Handling Demo)
Q:我可以动态改变JavaScript的错误处理程序吗?
A:可以。要改变JavaScript错误处理程序,只需要设置window.onerror的值为函数的名称,它就会作为你的新的错误处理程序。
这里是一个演示程序,你可以测试三个不同的错误处理程序:
浏览器默认的错误处理方法
显示自定义警告信息框的错误处理程序
禁止所有错误的信息的“安静”错误处理程序
Custom Error HandlerSilent Error HandlerDefault Error Handler 使用选择框设置或改变错误处理程序。
点击“Fire an Error”测试活动的错误处理程序。
下面是演示程序中的错误处理程序的源代码:
写在最后:
该篇是JavaScript FAQ系列的最后一篇。通过这一系列的翻译让我以前很多不明确的问题得到了解决,也希望能给看到这一系列翻译的各位带来一些收获。由于这一系列文章的讨论大多是基于旧版的浏览器,可能有些问题有了新的解决方法,希望大家可以积极讨论。
由于本人水平有限,在翻译中虽然对很多句子斟酌再三,但是难免有不能表达原文之意的地方,希望大家指正。而如果各位E文比较好,可以直接点击每个主题上的链接,直接查看原文。
1、禁止JS错误(Suppress JS Errors)
Q:我是否可以禁止JavaScript错误信息?
A:可以。要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分:
<SCRIPT language="JavaScript"> <!-- function silentErrorHandler() {return true;} window.onerror=silentErrorHandler; //--> </SCRIPT>
或者如何你有页面引入的.js文件,可以在其中使用相似代码(不使用SCRIPT标签)。关于可运行的代码实例,参考我们的错误处理演示程序。
2、添加你自己的错误处理程序(Adding Your Own Error Handler)
Q:我可以设置自己的错误处理程序吗?
A:当然可以。使用下面的JavaScript代码定义你自己的错误处理程序:
function handlerFunction(description,page,line) { // put error-handling operators here return true } window.onerror=handlerFunction
你的错误处理函数可以使用下列可选参数:
错误的文本描述
错误发生的页面地址
错误发生的行号
如果你希望这个错误处理函数在完成自定义的错误处理后,再调用浏览器的默认错误处理,就必须返回false。如果你不想调用浏览器的默认错误处理机制,函数就必须返回true。代码示例参考错误处理演示程序。
3、错误处理演示程序(Error Handling Demo)
Q:我可以动态改变JavaScript的错误处理程序吗?
A:可以。要改变JavaScript错误处理程序,只需要设置window.onerror的值为函数的名称,它就会作为你的新的错误处理程序。
这里是一个演示程序,你可以测试三个不同的错误处理程序:
浏览器默认的错误处理方法
显示自定义警告信息框的错误处理程序
禁止所有错误的信息的“安静”错误处理程序
Custom Error HandlerSilent Error HandlerDefault Error Handler 使用选择框设置或改变错误处理程序。
点击“Fire an Error”测试活动的错误处理程序。
下面是演示程序中的错误处理程序的源代码:
function defaultHandler() {return false} function silentHandler() {return true} function customHandler(desc,page,line,chr) { alert( 'JavaScript error occurred! /n' +'The error was handled by ' +'a customized error handler./n' +'/nError description: /t'+desc +'/nPage address: /t'+page +'/nLine number: /t'+line ) return true }
写在最后:
该篇是JavaScript FAQ系列的最后一篇。通过这一系列的翻译让我以前很多不明确的问题得到了解决,也希望能给看到这一系列翻译的各位带来一些收获。由于这一系列文章的讨论大多是基于旧版的浏览器,可能有些问题有了新的解决方法,希望大家可以积极讨论。
由于本人水平有限,在翻译中虽然对很多句子斟酌再三,但是难免有不能表达原文之意的地方,希望大家指正。而如果各位E文比较好,可以直接点击每个主题上的链接,直接查看原文。
相关文章推荐
- javascript(十五) 错误处理技术
- JavaScript错误处理
- JavaScript中错误正确处理方式,你用对了吗? 推荐
- JavaScript高级程序设计 阅读笔记(二十) js错误处理
- Error-in-javascript 错误处理
- JavaScript 错误处理的方式的正确姿势
- JavaScript错误处理
- 一个ArcGIS Javascript API的BUG和处理办法 - 调用两次Draw工具条deactivate方法导致的错误
- Javascript错误处理与调试
- Javascript的错误处理
- javascript 容错处理代码(屏蔽js错误)
- JavaScript处理错误
- Javascript的错误处理与调试
- Javascript错误处理——try...catch
- 【JS/读书随笔】JavaScript编程精解/Eloquent JavaScript:Chapter 4 错误处理
- Javascript 错误处理:try throw catch
- javascript 容错处理代码【屏蔽js错误】
- 一个ArcGIS Javascript API的BUG和处理办法 - 调用两次Draw工具条deactivate方法导致的错误
- 第一百二十三节,JavaScript错误处理与调试
- 如何妥善处理WebBrowser对Javascript的错误问题,阻止JS弹出框,提高用户体验(原创)