我想创建自己的自定义错误,如下所示:

function CustomError(message) {
   Error.captureStackTrace(this);
   this.message = message;
   this.name = "SomeCustomError";
}
CustomError.prototype = Object.create(Error.prototype);

我应该如何在 Angular 中整合自定义错误?无论在服务, Controller 还是类似的地方,我都可以在任何 Angular 抛出相同的自定义错误。我当然不想每次都“依赖注入(inject)” CustomError。
throw CustomError('some message');

或者,如果我正在考虑,我也可以简单地:
throw {name : "CustomError", message : "some message"};

有什么想法吗?

最佳答案

在我的app.js-引导文件中,我现在有了类似的内容:

angular.module('myApp')
    .run(['$window',
        function($window) {

            function CustomError(message) {
                Error.captureStackTrace(this);
                this.message = message;
                this.name = "SomeCustomError";
            }
            CustomError.prototype = Object.create(Error.prototype);

            $window.CustomError = CustomError;
            // From here on, I can throw it anywhere:
            // throw new CustomError("D'oh!");
        }
    ]);

关于javascript - 如何全局访问/抛出 Angular 自定义错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30636532/

10-10 16:32