如何妥善处理&控制Angular和Web API中的错误 - 2

时间:2018-04-30 10:03:44

标签: angular web error-handling webapi2

我想知道如何正确处理和控制Angular&中的错误。 Web api, 在一些教程中,我看到错误是在组件中处理的,而不是在获取数据的服务中处理的。基本上后端和角度/客户端错误都在这样的组件中处理:

enter image description here

我想知道他如何处理组件中的后端和前端错误?这是否意味着我不需要在WEB API中尝试/捕获?这应该处理它吗?

我在这里很困惑,请解释一下这个例子......

我认为应该在service.ts中添加错误处理程序 - 在此示例中为PeopleService,而PeopleService如下所示:

enter image description here

所以我对此感到困惑:

  

不应该在service.ts中有逻辑来处理错误吗?

     

我不应该在WebApi中编写try / catch,后端错误是怎么回事   在这处理?

谢谢你的帮助 干杯!

1 个答案:

答案 0 :(得分:0)

在您的示例中,后端错误类似于服务器响应404(未找到)。例如,您通过id请求了特定的人,并且服务器未找到与该ID相关的任何人,因此它返回404的响应。这样,客户端将知道用户尝试查找的人不存在。

  

不应该在service.ts中有逻辑来处理错误吗?

来自Angular guide

  

您希望在服务中执行错误检查,解释和解析,而不是在组件中执行。

错误被封装在服务中的ErrorObservable而不是组件中。

然后在你的组件中你会做类似的事情:

service.subscribe(
   result => this.result = result,
   error => console.log(error)
);
  

我不应该在WebApi中编写try / catch,如何处理后端错误?

您没有处理后端发生的错误。您正在处理从服务器响应返回的错误。例如:如果后端中存在空引用错误,则处理错误,例如您的示例不会使服务器免于崩溃。

后端是一个独立的过程。它有自己的错误处理程序。客户端代码(angular)在用户的浏览器中运行。

您可以在angular site上查看指南,了解更多信息。