如何解决JsonConvert 不会序列化异常的所有有用属性
我在媒体编码期间捕捉到以下异常:
catch (Microsoft.Azure.Management.Media.Models.ApiErrorException e)
{
var str1 = e.ToString();
var str2 = JsonConvert.SerializeObject(e);
}
我注意到在两个字符串中,ApiErrorException
的某些属性没有被捕获。例如,Body
类型的 Microsoft.Azure.Management.Media.Models.ApiError
不存在。
以下是 str2
的示例输出:
{
"ClassName":"Microsoft.Azure.Management.Media.Models.ApiErrorException","Message":"Operation returned an invalid status code 'BadRequest'","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at Microsoft.Azure.Management.Media.JobsOperations.CreateWithHttpMessagesAsync(String resourceGroupName,String accountName,String transformName,String jobName,Job parameters,Dictionary`2 customHeaders,CancellationToken cancellationToken)\r\n at Microsoft.Azure.Management.Media.JobsOperationsExtensions.CreateAsync(IJobsOperations operations,String resourceGroupName,CancellationToken cancellationToken)\r\n at ConsoleApp2.ProgramS.Main(String[] args) in C:\\Users\\xyz\\source\\repos\\ConsoleApp2\\ConsoleApp2\\ProgramS.cs:line 59","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":"Microsoft.Azure.Management.Media","WatsonBuckets":null
}
不幸的是,这不是很有帮助,因为 BadRequest
可能因任何原因被抛出。我需要的是 Body
中的消息以及 Response
类型的 Microsoft.Rest.HttpResponseMessageWrapper
属性的序列化。
我的印象是 JsonConvert
会序列化所有内容,但显然并非如此。所以,自然的问题是,我如何让它序列化它们?另外,我实现了全局异常处理,现在我怀疑在我使用各种其他 Nuget 包的其他地方是否存在这个问题。是否可以从 JsonConvert
获得更详细的异常转储?
解决方法
我们正在调查其原因,但我们能够通过提交一个很长且包含特殊字符的资产名称来重现它。这可能与您看到的问题相同吗?您可以使用更简单的资产名称再次尝试您的代码吗?
如果您可以分享所使用的资产名称,那也会有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。