如何将不是字符串的参数传递给C#中的异常?

问题描述

如果API返回400 Bad Request,我正在尝试在API中返回响应正文。意思是说当我的API返回400 Bad Request时,它不仅带有状态码,还带有响应主体。

在我的自定义异常类中,我有一个像这样的方法:

public Errors CreateErrorResponseBody(string id,string code)
{
   return new Errors
   {
      Id = id,Code = code
   }
}

我的自定义异常类中的构造函数如下:

public CustomException(string message) : base(message){}

在引发异常的方法中,我这样子:

string id = "AAA";
string code = "123";
...
catch(Exception ex)
{
   if (ex is DeviceManagementServiceException e)
   {
      e.CreateErrorResponseBody(id,code);
      throw new CustomException();
   }
}

在我的控制器中,我有这样的异常处理方法:

private IActionResult HandleException(CustomException exception)
{
   return Json(errorResponseBody)
}

如何使errorResponseBody返回上述方法以返回? 异常构造函数仅允许传递字符串。

有没有一种方法可以将异常与创建的errorResponseBody一起抛出,然后最终让控制器返回该响应主体?

或者还有其他方法可以将响应主体返回到我的API响应吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...