$$passToExceptionHandler 在 AngularJS 中不会抛出异常



我正在使用 AngularJS 版本的 1.7.2 并收到此消息的异常

无法读取未定义的属性"数据项">

并且它不会扔到控制台/自定义异常处理服务中,因为 AngularJS 中的代码如下:

catch (e) {
rejectPromise(promise, e);
// This error is explicitly marked for being passed to the $exceptionHandler 
if (e && e.$$passToExceptionHandler === true) {     
exceptionHandler(e); 
}
}

$$passToExceptionHandler 在 e 对象中不存在,并且 exceptionHandler 函数没有调用。

谁能向我解释为什么会发生这种情况?

您可能已禁用以下行报告未处理的拒绝承诺:

qProvider.errorOnUnhandledRejections(false);

但通常需要有关错误源的更多信息才能为您提供更好的答案。

也许这会起作用,为所有"错误"实例设置 $$passToExceptionHandler,例如:

Error.prototype.$$passToExceptionHandler = true

最新更新