mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-10 09:26:22 +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)
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
@ -204,7 +205,8 @@ namespace CryptoExchange.Net
|
||||
}
|
||||
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);
|
||||
return new CallResult<T>(default, new DeserializeError(info, obj));
|
||||
}
|
||||
@ -257,9 +259,11 @@ namespace CryptoExchange.Net
|
||||
{
|
||||
if (stream.CanSeek)
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
var exceptionInfo = GetExceptionInfo(ex);
|
||||
var data = await ReadStream(stream).ConfigureAwait(false);
|
||||
log.Write(LogVerbosity.Error, $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}, data: {data}");
|
||||
return new CallResult<T>(default, new DeserializeError($"Deserialize Unknown Exception: {(ex.InnerException?.Message ?? ex.Message)}", data));
|
||||
log.Write(LogVerbosity.Error, $"{(requestId != null ? $"[{requestId}] " : "")}Deserialize Unknown Exception: {exceptionInfo}, data: {data}");
|
||||
return new CallResult<T>(default, new DeserializeError($"Deserialize Unknown Exception: {exceptionInfo}", data));
|
||||
}
|
||||
}
|
||||
|
||||
@ -412,6 +416,30 @@ namespace CryptoExchange.Net
|
||||
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>
|
||||
/// Dispose
|
||||
/// </summary>
|
||||
|
@ -317,6 +317,13 @@
|
||||
<param name="values">The values to fill</param>
|
||||
<returns></returns>
|
||||
</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">
|
||||
<summary>
|
||||
Dispose
|
||||
|
@ -266,8 +266,9 @@ namespace CryptoExchange.Net
|
||||
}
|
||||
catch (HttpRequestException requestException)
|
||||
{
|
||||
log.Write(LogVerbosity.Warning, $"[{request.RequestId}] Request exception: " + (requestException.InnerException?.Message ?? requestException.Message));
|
||||
return new WebCallResult<T>(null, null, default, new ServerError(requestException.Message));
|
||||
var exceptionInfo = GetExceptionInfo(requestException);
|
||||
log.Write(LogVerbosity.Warning, $"[{request.RequestId}] Request exception: " + exceptionInfo);
|
||||
return new WebCallResult<T>(null, null, default, new WebError(exceptionInfo));
|
||||
}
|
||||
catch (TaskCanceledException canceledException)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user