【发布时间】:2015-08-18 15:12:01
【问题描述】:
我想创建自己的自定义错误,如下所示:
function CustomError(message) {
Error.captureStackTrace(this);
this.message = message;
this.name = "SomeCustomError";
}
CustomError.prototype = Object.create(Error.prototype);
我应该如何在 Angular 中集成自定义错误?无论是在服务、控制器还是类似的地方,我都可以在任何有角度的地方抛出相同的自定义错误。我当然不想每次都“依赖注入”CustomError。
throw CustomError('some message');
或者,如果我正在考虑,我也可以简单地:
throw {name : "CustomError", message : "some message"};
有什么想法吗?
【问题讨论】:
-
如果我理解正确,您想覆盖默认的异常处理程序吗?如果是这样,请查看文档:docs.angularjs.org/api/ng/service/$exceptionHandler。看来您还可以添加功能,同时使用装饰器保留原始异常处理功能:stackoverflow.com/questions/13595469/…
-
不,我已经这样做了。我只是想定义我自己的自定义错误,我不知道如何让它在 Angular 中全局可用。
-
嗯,似乎有一个选项可以创建然后将服务添加到 rootScope,这样您就不必不断地将其注入:stackoverflow.com/questions/14571714/…。不过,不确定它是否仍然满足您的要求?
-
好吧,实际上我也可以在我的 Angular 引导函数期间将它附加到
$window的某个位置。只是一个想法,也许还不错…… -
听起来很有趣。发布您的最终解决方案。
标签: javascript angularjs error-handling