C#中的差异Environment.StackTrace和Exception.ToString()?

C#中的差异Environment.StackTrace和Exception.ToString()?,c#,exception,logging,stack-trace,C#,Exception,Logging,Stack Trace,如何获得类似于Exception.ToString()的堆栈跟踪 据我所知,它应该是环境.StackTrace——但我对这两种方法得到了不同的结果 下面是一个简化的例子。我见过Environment.StackTrace比Exception.ToString()多出+160行的案例 这些行似乎主要是与任务相关的底层框架,我不需要它们 是否可以获得与Exception.ToString()完全相同的格式设置 异常的结果: System.Exception: Test at ConsoleAp

如何获得类似于
Exception.ToString()
的堆栈跟踪

据我所知,它应该是
环境.StackTrace
——但我对这两种方法得到了不同的结果

下面是一个简化的例子。我见过
Environment.StackTrace
Exception.ToString()多出+160行的案例

这些行似乎主要是与任务相关的底层框架,我不需要它们

是否可以获得与
Exception.ToString()完全相同的格式设置

异常的结果

System.Exception: Test
   at ConsoleApp2.Program.Main(String[] args) in C:\Temp\C#\ConsoleApp2\ConsoleApp2\Program.cs:line 17
   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)
StackTrace的结果

System.Exception: Test
   at ConsoleApp2.Program.Main(String[] args) in C:\Temp\C#\ConsoleApp2\ConsoleApp2\Program.cs:line 17
   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)
at System.Environment.get_StackTrace()
在C:\Temp\C#\ConsoleApp2\ConsoleApp2\Program.cs中的ConsoleApp2.Program.Main(字符串[]args)处:第12行
在System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine&stateMachine)
在ConsoleApp2.Program.Main上(字符串[]args)
在ConsoleApp2.Program上。(字符串[]args)

catch
中的异常是,这就是为什么它更短,因为它找到了处理程序。这是否回答了您的问题?
catch
中的异常是,这就是为什么它更短,因为它找到了handler。这是否回答了您的问题?