WebApi是否可以使用异常中断抛出来处理业务

xuexiang zou 0 信誉分
2024-02-02T02:25:32.38+00:00

1,我目前使用WebApi .NET 7
2,我的业务逻辑里面使用了大量的 throw new Exception("你输入的参数错误") 来控制参数的不正确 3,然后我在 webapi的过滤器,捕获异常,统一返回这类错误 问: 1,这种作法是否合理? 2,如果不合理我应该怎么做 已下图片,是我的代码片段 User's image

User's image

User's image

ASP.NET API
ASP.NET API
ASP.NET: .NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。API: 支持两个应用程序相互交互的软件中介。
10 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. XuDong Peng-MSFT 10,931 信誉分 Microsoft 供应商
    2024-02-02T10:31:01.0866667+00:00

    你好,

    我的业务逻辑里面使用了大量的 throw new Exception("你输入的参数错误") 来控制参数的不正确

    如果你说的是直接抛出基础 Exception 类,我认为这不太合适。我认为抛出的异常,应能通过异常类名和message准确说明异常的类型和产生的原因。你所提到的关于传递的参数所引起的异常(以及你代码里的ExceptionParamter),官方有现成的异常类:ArgumentException 类,大多数能够满足你的需求。在业务逻辑中,常使用的应该是它的派生类,例如:

    简单参考以下官方文档:

    1. 引发异常时应避免的情况
    2. ArgumentException 类 - 注解

    Best Regards,

    Xudong Peng


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。


你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。