我的代码中有一种情况,我需要跟踪生产中的错误。
I used ember.js
作为我的框架。
为了跟踪我使用的生产中发生的错误Ember.Onerror
它只为我提供任何功能错误跟踪。
Ember.onerror = function(error) {
Em.$.ajax('/error-notification', 'POST', {
stack: error.stack,
otherInformation: 'exception message'
});
}
但我想追踪断言失败的错误
网址 *与您的应用程序中的任何路由器都不匹配
Ember 上关于捕获错误和断言错误的文档确实很少。就我而言,在投入生产之前,我需要在调试模式下在控制台之外可视化这些异常。因此,我访问了 GitHub 中的 Ember 项目,找到了 Ember.onerror(error) {...} 和 Ember.assert(desc, test) {...} 函数的规范和实现,然后我编写了我的这些函数的自己版本位于新适配器(app/initializers 文件夹)的初始化函数中,我决定将其命名为 errorHandler。
Ember.assert = function(desc, test) {
if (!test) {
console.log('This is a test to log Assertions!');
/* your assertion treatment code goes here*/
throw new Ember.Error("Assertion Failed: " + desc);
}
}
...并通过抛出 new Ember.Error(...) 您实际上是在调用:
Ember.onerror = function(error) {
console.log("An error has occurred in ember: " + error.message);
/* your error treatment code goes here*/
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)