您的位置:首页 > 运维架构

嵌入式ssh dropbear 添加sftp-server功能

2013-08-08 14:35 495 查看
二十二、错误处理

1、禁止JS错误(Suppress JS Errors

Q:我是否可以禁止JavaScript错误信息?

A:可以。要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分:

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的值为函数的名称,它就会作为你的新的错误处理程序。

这里是一个演示程序,你可以测试三个不同的错误处理程序:

浏览器默认的错误处理方法

显示自定义警告信息框的错误处理程序

禁止所有错误的信息的“安静”错误处理程序

<!--
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
}
if ((''+self.location.search).indexOf('silentHandler')!=-1) window.onerror=silentHandler;
else if ((''+self.location.search).indexOf('defaultHandler')!=-1) window.onerror=defaultHandler;
else window.onerror=customHandler;
// -->

Custom Error Handler
Silent Error Handler
Default Error Handler<!--
if ((''+self.location.search).indexOf('silentHandler')!=-1) document.f1.s1.selectedIndex=1;
else if ((''+self.location.search).indexOf('defaultHandler')!=-1) document.f1.s1.selectedIndex=2;
// -->

使用选择框设置或改变错误处理程序。

点击“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文比较好,可以直接点击每个主题上的链接,直接查看原文。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: