我正在使用xamarin表单的移动应用程序。我已经使用了web api的post和get请求等。在某些情况下抛出异常,我无法获得状态代码。有什么解决方案可以获取错误的状态吗?400、401、402等状态码
发布于 2016-10-14 16:28:42
如果出现多个错误,则抛出AggregateException。查看AggregateException的InnerExceptions属性以查看“真正的”错误。
发布于 2021-11-12 10:34:24
我知道这是一个老帖子,但我在互联服务方面也有同样的问题。
对我来说,解决方案是如果InnerException的类型是SwaggerException,那么就强制转换它,并根据StatusCode来做一些事情(比如将这些代码转换为异常)。
if (e.InnerException == null || typeof(SwaggerException) != e.InnerException.GetType())
throw new Exception(e.Message);
var ie = (SwaggerException) e.InnerException;
switch (ie.StatusCode) {
case 400:
throw new ArgumentException(ie.Response);
case 404:
throw new KeyNotFoundException(ie.Response);
default:
throw new Exception(ie.Response);
}https://stackoverflow.com/questions/40037877
复制相似问题