gpt4 book ai didi

angular - 服务未在component.ts中捕获的错误

转载 作者:行者123 更新时间:2023-12-03 08:04:58 25 4
gpt4 key购买 nike

用户登录后,我将检索他们的userAccount。在未返回的情况下,我在服务中抛出错误。然后,我继续在component.ts Controller 中捕获错误。

由于某种原因,component.ts无法捕获所引发的错误。在控制台中,我可以看到错误,但是由于某种原因,我的component.ts未能在try/catch块中捕获该错误。

我已经对其进行了多次测试,以查看失败的原因,并且错误消息似乎未到达catch语句。

这是我的服务:

/* On error: */
error => {

if (error.status === 401) {

Helpers.logGroupedErrorObjectsToDevConsole(
'Login Service: getCustomerAccount()',
[
{
title: 'Session Timed Out:',
info: true
}
]
);
} else {
Helpers.logGroupedErrorObjectsToDevConsole(
'Login Service: getCustomerAccount()',
[
{
title: 'Cannot get customer account:',
info: true
}
]
);
}

throw new Error(error);
}

这是在我的 component.ts
try {
setTimeout(() => {
this._service.customer(this.url, this.route)
}, 1000);
} catch (e) {
this.showUnknownLoginFailureMessage = true;
}

我期望的是在component.ts中处理错误

可能吗?
我是在正确处理错误还是丢失了某些东西?

我需要一些指导。

提前致谢!

最佳答案

A try/catch won't catch anything in a callback passed to subscribe (or then, or setTimeout or anything smiilar) which runs on a different "tick" or "microtask". You have to catch errors in the task where they occurred.



这个答案有一个解决方案 https://stackoverflow.com/a/50494803/7179294

关于angular - 服务未在component.ts中捕获的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56379204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com