Expose inner exceptions when sendError (#1919)

* send inner exception

* trim

* name

* format
This commit is contained in:
Hai Cao
2023-03-08 14:27:08 -08:00
committed by GitHub
parent 58477c35dc
commit 19b7a180b5

View File

@@ -159,12 +159,26 @@ namespace Microsoft.SqlTools.Hosting.Protocol
}
catch (Exception ex)
{
Logger.Error($"{requestType.MethodName} : {ex}");
await requestContext.SendError(ex.Message);
string errorMessage = GetErrorMessage(ex);
Logger.Error($"{requestType.MethodName} : {errorMessage}");
await requestContext.SendError(errorMessage);
}
});
}
private string GetErrorMessage(Exception e)
{
List<string> errors = new List<string>();
while (e != null)
{
errors.Add(e.Message);
e = e.InnerException;
}
return errors.Count > 0 ? string.Join(" ---> ", errors) : string.Empty;
}
public void SetEventHandler<TParams>(
EventType<TParams> eventType,
Func<TParams, EventContext, Task> eventHandler)