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。这是否回答了您的问题?