我想知道如何正确处理和控制Angular&中的错误。 Web api, 在一些教程中,我看到错误是在组件中处理的,而不是在获取数据的服务中处理的。基本上后端和角度/客户端错误都在这样的组件中处理:
我想知道他如何处理组件中的后端和前端错误?这是否意味着我不需要在WEB API中尝试/捕获?这应该处理它吗?
我在这里很困惑,请解释一下这个例子......
我认为应该在service.ts
中添加错误处理程序 - 在此示例中为PeopleService
,而PeopleService
如下所示:
所以我对此感到困惑:
不应该在service.ts中有逻辑来处理错误吗?
我不应该在WebApi中编写try / catch,后端错误是怎么回事 在这处理?
谢谢你的帮助 干杯!
答案 0 :(得分:0)
在您的示例中,后端错误类似于服务器响应404(未找到)。例如,您通过id请求了特定的人,并且服务器未找到与该ID相关的任何人,因此它返回404的响应。这样,客户端将知道用户尝试查找的人不存在。
不应该在service.ts中有逻辑来处理错误吗?
您希望在服务中执行错误检查,解释和解析,而不是在组件中执行。
错误被封装在服务中的ErrorObservable
而不是组件中。
然后在你的组件中你会做类似的事情:
service.subscribe(
result => this.result = result,
error => console.log(error)
);
我不应该在WebApi中编写try / catch,如何处理后端错误?
您没有处理后端发生的错误。您正在处理从服务器响应返回的错误。例如:如果后端中存在空引用错误,则处理错误,例如您的示例不会使服务器免于崩溃。
后端是一个独立的过程。它有自己的错误处理程序。客户端代码(angular)在用户的浏览器中运行。
您可以在angular site上查看指南,了解更多信息。