internal static string GetMessageFromException(Exception ex) { string errorDetails = ex.Message; FaceAPIException faceApiException = ex as FaceAPIException; if (faceApiException?.ErrorMessage != null) { errorDetails = faceApiException.ErrorMessage; } Microsoft.ProjectOxford.Common.ClientException commonException = ex as Microsoft.ProjectOxford.Common.ClientException; if (commonException?.Error?.Message != null) { errorDetails = commonException.Error.Message; } Microsoft.ProjectOxford.Vision.ClientException visionException = ex as Microsoft.ProjectOxford.Vision.ClientException; if (visionException?.Error?.Message != null) { errorDetails = visionException.Error.Message; } HttpOperationException httpException = ex as HttpOperationException; if (httpException?.Response?.ReasonPhrase != null) { errorDetails = string.Format("{0}. The error message was \"{1}\".", ex.Message, httpException?.Response?.ReasonPhrase); } return(errorDetails); }
internal static string GetMessageFromException(Exception ex) { string errorDetails = ex.Message; FaceAPIException faceApiException = ex as FaceAPIException; if (faceApiException?.ErrorMessage != null) { errorDetails = faceApiException.ErrorMessage; } ClientException commonException = ex as ClientException; if (commonException?.Error?.Message != null) { errorDetails = commonException.Error.Message; } Microsoft.ProjectOxford.Vision.ClientException visionException = ex as Microsoft.ProjectOxford.Vision.ClientException; if (visionException?.Error?.Message != null) { errorDetails = visionException.Error.Message; } return(errorDetails); }
public static HttpStatusCode GetHttpStatusCode(this Microsoft.ProjectOxford.Vision.ClientException exception) { var statusCode = HttpStatusCode.InternalServerError; var keyValue = statusCodeErrorMapping.FirstOrDefault(s => s.Value.Any(e => e == exception.Error.Code)); if (keyValue.Value != null) { statusCode = keyValue.Key; } else { if (exception.Error.Message == InvalidSubscriptionKeyMessage) { statusCode = HttpStatusCode.Forbidden; } } return(statusCode); }