Javascript结构化错误处理

时间:2015-04-23 18:15:38

标签: javascript error-handling

我正在开发我的第一个Javascript应用程序,我正在尝试面向对象。 有一个基本的闭包返回我的主对象,我调用的每个函数都在该对象中。一些伪代码看起来像这样:

primary = (function(){
var object = {
     doSomething = function(){};
},  
return {intance:function(return object)}
});

//invocation
primary.instance().doSomething();

我想要实现的是将错误处理函数附加到我的object,以便每当出现内部错误时,它都是正确的,并且我不必将每个函数调用包装在一个try catch阻止。

我尝试object.onerror,但error继续window object。也许我的概念错了。我尝试在Github上搜索一些包含结构化错误处理的简单框架,但没有运气。我在PHP中对此非常熟悉,但到目前为止我还没有在Javascript中完成此操作。有人能告诉我一个如何正确完成的例子吗?

编辑:我知道结构化错误处理更进一步,我只是想获得一个根处理程序,这样就不会有任何错误/异常传递给window object

1 个答案:

答案 0 :(得分:0)

在没有try catch块的情况下处理error事件将暂停脚本的执行(除了已经调用的任何异步函数)。

您可以通过在document.body或更具体的对象上捕获它们来抑制(非ajax,非语法)错误,并阻止它们被抛出给用户(或到达window对象)通过使用e.preventDefault()return false,并通过将事件对象作为参数传递给全局/对象处理程序(以检查或记录) - 但是这些选项中的任何一个都将使脚本执行超出错误点。这是try catch块的主要好处,据我所知,没有办法解决这个问题。