3
是否有办法在全局范围内处理ExtJS应用程序中的所有JavaScript错误和异常,并将其路由到一个函数,以警告用户服务器错误?ExtJS中的全局错误处理
window:onerror()
似乎并没有处理所有的JavaScript错误,因此在代码中寻找某种类型的catch,将它包装到一个更通用的异常中以便捕获它?
是否有办法在全局范围内处理ExtJS应用程序中的所有JavaScript错误和异常,并将其路由到一个函数,以警告用户服务器错误?ExtJS中的全局错误处理
window:onerror()
似乎并没有处理所有的JavaScript错误,因此在代码中寻找某种类型的catch,将它包装到一个更通用的异常中以便捕获它?
参见
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Error-static-method-handle
全局处理可能提出的任何分机错误,任选 提供定制逻辑来单独地处理不同的错误。返回 如果从函数返回true,则将错误抛出到浏览器,否则将抛出错误并执行将停止。
用法示例:
Ext.Error.handle = function(err) {
if (err.someProperty == 'NotReallyAnError') {
// maybe log something to the application here if applicable
return true;
}
// any non-true return value (including none) will cause the error to be thrown
}
正常情况下,错误会被得到的onerror处理,但在Ext.Error.handle返回true阻止了。
也期待在http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Ajax-event-requestexception
谢谢,我应该把它写在应用程序启动文件?我不应该使用Ext.Create()来调用这段代码吗?或者在抛出异常时自动调用 –
是的,你应该把它放在app.init中。你不需要Ext.create,因为它是一个静态方法。当提出分机时,它会被调用。您可能仍然想要防止出现异常情况。 –
谢谢,但我的应用程序没有app.init文件。我应该将它添加到'Ext.application()'JS文件中的'launch:function()'方法吗? –