좀 더 구조화 된 데이터 객체에 대한 예외에서 StackTrace 문자열을 변환 할 수 있는지 궁금합니다.Exception.StackTrace에서 구조화 된 정보를 추출 할 수 있습니까?
아니면 예외를 잡는 동안이 정보를 얻을 수있는 방법이 있습니까? 아마도 반사를 사용하는 무언가일까요?
감사합니다.
좀 더 구조화 된 데이터 객체에 대한 예외에서 StackTrace 문자열을 변환 할 수 있는지 궁금합니다.Exception.StackTrace에서 구조화 된 정보를 추출 할 수 있습니까?
아니면 예외를 잡는 동안이 정보를 얻을 수있는 방법이 있습니까? 아마도 반사를 사용하는 무언가일까요?
감사합니다.
사용 StackTrace
클래스 :
static void ShowExceptionStackTrace(Exception ex)
{
var stackTrace = new StackTrace(ex, true);
foreach (var frame in stackTrace.GetFrames())
Console.WriteLine(frame.GetMethod().Name);
}
System.Diagnostics.StackTrace 클래스를 확인하십시오. 개체를 만들고 프레임을 지나칠 수 있습니다.
StackTrace st = new StackTrace();
foreach (var frame in st.GetFrames())
{
Console.WriteLine(frame.GetFileName().ToString()
+ ":"
+ frame.GetFileLineNumber().ToString());
}
일관된 해결책을 원할 경우 운이 좋지 않습니다.
stack trace on exception construction을 저장하여 호지 흉벽 해결책을 얻을 수 있습니다.
그러나 프레임 워크에는 예외가 발생할 때 호출되는 후크가 없습니다. 생성자 Exception
을 받아들이와
이 정말 편리한 클래스입니다. 어떤 메소드가 호출되었는지 판별하려면 해당 메소드에 정의 된 사용자 정의 속성이있는 경우이 클래스가 필요합니다. – Josh
잘 나는 StackTrace()의 생성자에 예외 객체를 전달할 수 있다는 것을 알았습니다. 그래서 그 bassicaly : – Karim
@ 카림 : 그것은 쉬운 방법입니다 :) – leppie