Как получить StackTrace, похожий на Exception.ToString()
?
Согласно этот ответ должен быть Environment.StackTrace
- но я получаю разные результаты для обоих методов.
Ниже приведен упрощенный пример. Я видел случаи, когда Environment.StackTrace
имел + 160 строк больше , затем Exception.ToString()
.
Эти строки, по-видимому, в основном лежат в основе вещей, связанных с задачами и т.д. c, и я Мне они не нужны.
Можно ли получить такое же форматирование, как Exception.ToString()
?
namespace ConsoleApp2
{
class Program
{
static async Task Main(string[] args)
{
await Task.Delay(0);
string fromStackTrace = Environment.StackTrace;
string fromException;
try
{
throw new Exception("Test");
}
catch (Exception e)
{
fromException = e.ToString();
}
}
}
}
Результат fromException :
System.Exception: Test
at ConsoleApp2.Program.Main(String[] args) in C:\Temp\C#\ConsoleApp2\ConsoleApp2\Program.cs:line 17
Результат fromStackTrace :
at System.Environment.get_StackTrace()
at ConsoleApp2.Program.Main(String[] args) in C:\Temp\C#\ConsoleApp2\ConsoleApp2\Program.cs:line 12
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at ConsoleApp2.Program.Main(String[] args)
at ConsoleApp2.Program.<Main>(String[] args)