Catch json deserialisation errors
SuccessfulCode/SuccessfulCodeTools/master This commit looks good

This commit is contained in:
2020-02-26 12:27:06 +00:00
parent e2556fae85
commit 56554f1f3a
2 changed files with 12 additions and 3 deletions
@@ -7,9 +7,9 @@ namespace SuccessfulCodeTools.Extensions
{ {
public static class ObjectExtensions public static class ObjectExtensions
{ {
public static Lazy<JsonSerializerSettings> _settings = new Lazy<JsonSerializerSettings>(GetSettings); public static Lazy<JsonSerializerSettings> _settings = new Lazy<JsonSerializerSettings>(JsonSettings);
private static JsonSerializerSettings GetSettings() private static JsonSerializerSettings JsonSettings()
{ {
var settings = new JsonSerializerSettings() var settings = new JsonSerializerSettings()
{ {
@@ -8,7 +8,16 @@ namespace SuccessfulCodeTools
{ {
public static T DeserializeJson<T>(this string value) public static T DeserializeJson<T>(this string value)
{ {
return JsonConvert.DeserializeObject<T>(value); try
{
return JsonConvert.DeserializeObject<T>(value);
}
catch (Exception ex)
{
ex = new ArgumentException("Not valid json", nameof(value), ex);
ex.Data.Add("argument value", value);
throw ex;
}
} }
public static T ToEnum<T>(this string value) public static T ToEnum<T>(this string value)