diff --git a/DigitalOcean.API/DigitalOcean.API.csproj b/DigitalOcean.API/DigitalOcean.API.csproj
index 9bf233f..05aa6c2 100644
--- a/DigitalOcean.API/DigitalOcean.API.csproj
+++ b/DigitalOcean.API/DigitalOcean.API.csproj
@@ -3,7 +3,7 @@
net6.0
true
vevix
- 5.2.0
+ 5.3.0-rc2
.NET wrapper of the DigitalOcean API
2019
DigitalOcean.API
diff --git a/DigitalOcean.API/Extensions/RestSharpExtensions.cs b/DigitalOcean.API/Extensions/RestSharpExtensions.cs
index 8864365..9b1dc78 100755
--- a/DigitalOcean.API/Extensions/RestSharpExtensions.cs
+++ b/DigitalOcean.API/Extensions/RestSharpExtensions.cs
@@ -29,7 +29,8 @@ public static Task> ToByteArrayAsync(this Task
private static RestResponse ThrowIfException(this RestResponse response) {
if (response.ErrorException != null) {
- throw new Exception("There was an an exception thrown during the request.",
+ throw new Exception("There was an an exception thrown during the request. " +
+ $"Resource: {response.Request.Resource}. Status: {response.StatusCode}. Body: {response.Content}",
response.ErrorException);
}
@@ -50,8 +51,15 @@ private static Task GetResponseContentAsync(IRestClient theClient,
public static T Deserialize(this RestResponse response) {
response.Request.OnBeforeDeserialization(response);
- var parsedJson = (JObject)JsonConvert.DeserializeObject(response.Content);
- return JsonDeserializationHelper.DeserializeWithRootElementName(parsedJson, response.Request.RootElement);
+ try {
+ var parsedJson = (JObject)JsonConvert.DeserializeObject(response.Content);
+ return JsonDeserializationHelper.DeserializeWithRootElementName(parsedJson, response.Request.RootElement);
+ }
+ catch (Exception ex) {
+ throw new Exception($"Failed deserializing response. " +
+ $"Resource: {response.Request.Resource}. Status: {response.StatusCode}. Body: {response.Content}",
+ ex);
+ }
}
}
}