Насколько я понимаю," правильный "способ создания пользовательского класса Error в JavaScript выглядит примерно так:
function MyError(message) {
this.name = "MyError";
this.message = message || "Default Message";
}
MyError.prototype = new Error();
MyError.prototype.constructor = MyError;
(фрагмент кода заимствован из https://developer.mozilla.org/en /JavaScript/Reference/Global_Objects/Error. )
С NodeJS, если я попытаюсь проверить ошибку такого типа, например:
var err = new MyError("whoops");
assert.ifError(err);
... трассировка покажет контекст созданного мной объекта ошибки во время компиляции быть прототипом MyError, а не объектом MyError, который я создал с помощью «new MyError ()».
Есть ли способ получить правильные данные обратной трассировки для фактической ошибки, а не прототип?