mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-11 01:46:12 +00:00
More detailed error messages
This commit is contained in:
parent
15c1cfb0e4
commit
1714da3107
@ -126,7 +126,8 @@ namespace CryptoExchange.Net
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
var info = $"Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}";
|
var exceptionInfo = GetExceptionInfo(ex);
|
||||||
|
var info = $"Deserialize Unknown Exception: {exceptionInfo}";
|
||||||
return new CallResult<JToken>(null, new DeserializeError(info, data));
|
return new CallResult<JToken>(null, new DeserializeError(info, data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -204,7 +205,8 @@ namespace CryptoExchange.Net
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
var info = $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}";
|
var exceptionInfo = GetExceptionInfo(ex);
|
||||||
|
var info = $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {exceptionInfo}";
|
||||||
log.Write(LogVerbosity.Error, info);
|
log.Write(LogVerbosity.Error, info);
|
||||||
return new CallResult<T>(default, new DeserializeError(info, obj));
|
return new CallResult<T>(default, new DeserializeError(info, obj));
|
||||||
}
|
}
|
||||||
@ -257,9 +259,11 @@ namespace CryptoExchange.Net
|
|||||||
{
|
{
|
||||||
if (stream.CanSeek)
|
if (stream.CanSeek)
|
||||||
stream.Seek(0, SeekOrigin.Begin);
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
|
||||||
|
var exceptionInfo = GetExceptionInfo(ex);
|
||||||
var data = await ReadStream(stream).ConfigureAwait(false);
|
var data = await ReadStream(stream).ConfigureAwait(false);
|
||||||
log.Write(LogVerbosity.Error, $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}, data: {data}");
|
log.Write(LogVerbosity.Error, $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {exceptionInfo}, data: {data}");
|
||||||
return new CallResult<T>(default, new DeserializeError($"Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}", data));
|
return new CallResult<T>(default, new DeserializeError($"Deserialize Unknown Exception: {exceptionInfo}", data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,6 +416,30 @@ namespace CryptoExchange.Net
|
|||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get's all exception messages from a nested exception
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ex"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetExceptionInfo(Exception ex)
|
||||||
|
{
|
||||||
|
string result = "";
|
||||||
|
var padding = 0;
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
result += ex.Message.PadLeft(ex.Message.Length + padding) + Environment.NewLine;
|
||||||
|
|
||||||
|
if (ex.InnerException == null)
|
||||||
|
break;
|
||||||
|
|
||||||
|
ex = ex.InnerException;
|
||||||
|
padding += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dispose
|
/// Dispose
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -317,6 +317,13 @@
|
|||||||
<param name="values">The values to fill</param>
|
<param name="values">The values to fill</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:CryptoExchange.Net.BaseClient.GetExceptionInfo(System.Exception)">
|
||||||
|
<summary>
|
||||||
|
Get's all exception messages from a nested exception
|
||||||
|
</summary>
|
||||||
|
<param name="ex"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:CryptoExchange.Net.BaseClient.Dispose">
|
<member name="M:CryptoExchange.Net.BaseClient.Dispose">
|
||||||
<summary>
|
<summary>
|
||||||
Dispose
|
Dispose
|
||||||
|
@ -266,8 +266,9 @@ namespace CryptoExchange.Net
|
|||||||
}
|
}
|
||||||
catch (HttpRequestException requestException)
|
catch (HttpRequestException requestException)
|
||||||
{
|
{
|
||||||
log.Write(LogVerbosity.Warning, $"[{request.RequestId}] Request exception: " + (requestException.InnerException?.Message ?? requestException.Message));
|
var exceptionInfo = GetExceptionInfo(requestException);
|
||||||
return new WebCallResult<T>(null, null, default, new ServerError(requestException.Message));
|
log.Write(LogVerbosity.Warning, $"[{request.RequestId}] Request exception: " + exceptionInfo);
|
||||||
|
return new WebCallResult<T>(null, null, default, new WebError(exceptionInfo));
|
||||||
}
|
}
|
||||||
catch (TaskCanceledException canceledException)
|
catch (TaskCanceledException canceledException)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user