为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 JsonReaderException 之后存储 json 字符串?

如何在 JsonReaderException 之后存储 json 字符串?

C#
慕后森 2022-11-21 20:39:08
在服务层,当解析一个 JSON 字符串时,如果解析失败则JsonReaderException抛出一个给控制器。JObject jData = new JObject();try{    jData = JObject.Parse(response.Content);}catch (JsonReaderException ex){    throw ex;}在 Web 层的控制器中,捕获到该异常后,我想将该 JSON 字符串与异常消息一起存储在数据库中。catch(JsonReaderException ex){    _exceptionLogService.LogException(new ExceptionLog()    {        Date = DateTime.Now,        Message = ex.Message,        Content = "json string (response.Content) goes here"       }}我可以在服务层执行此操作(我最初就是这样做的),但是,由于依赖注入,我将不得不添加一个依赖项_exceptionLogService,然后在很多地方更改代码。如果可能的话,我正在寻找一种更简单、更快捷的方法来在 web 层中执行此操作。我该怎么做呢?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您的代码中没有提到您的控制器,所以我不知道。如果你的代码的第二部分,创建一个你自己的新异常,它接受一个 json 字符串的参数,这样你就可以传递它 – BugFinder 2 小时前


我通过创建一个JsonParseException将 aJsonReaderException和一个字符串作为参数的自定义并将其交给控制器来解决这个问题。不幸的是,我无法将评论标记为答案。


JObject jData = new JObject();

try

{

    jData = JObject.Parse(response.Content);

}

catch (JsonReaderException ex)

{

    throw new JsonParseException(ex, response.Content);;

}


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信