dotNet에서 한 라인에서 예외가 발생하여 잡히면 어떤 파일의 어떤 라인에서 예외가 발생했는지를 어떻게 알 수 있습니까? 상대적으로 직선적 인 것으로 보이지만 나는 그것을 이해할 수 없습니다 ...어떤 코드 라인에서 예외가 발생했는지 판단
6
A
답변
6
사용 가능한 디버그 기호가있는 경우에만 수행 할 수 있습니다.
catch(Exception ex) {
// check the ex.StackTrace property
}
당신은 VS에서 이러한 상황을 디버깅 할 경우
, 당신은 더 나은 단지Debug
메뉴에있는
Exceptions
대화 상자에서
Common Language Runtime Exceptions
에 대한
Thrown
체크 박스에 체크 것입니다. 디버거는
try
블록에 있어도 예외가 발생하는 즉시 중단됩니다. FirstChanceException라고 무슨 당신이 가진 .NET에서,
try
{
...
...
}
catch(...)
{
StackFrame sf = new StackFrame(true);
int lineNumber = sf.GetFileLineNumber();
int colNumber = sf.GetFileColumnNumber();
string fileName = sf.GetFileName();
string methodName = sf.GetMethod().Name;
}
1
당신은 StackFrame Class을 사용할 수 있습니다. 이것은 본질적으로 예외가 처리되기 전에 발생합니다. 여기에 제시하는 문제를 보는 두 가지 방법이 있습니다. 하나는 디버깅 각도에서 나온 것입니다. 디버깅을하는 경우 Debug/Exceptions 윈도우에서 던져진 예외를 catch하도록 디버거를 설정할 수 있습니다. 이것은 대화 형 환경에서 더 쉽습니다. 당신은 대화 형이 아닌 컨텍스트 내에서이 정보를 기록해야하는 경우 CMS에 대해 얘기 무엇 그때
try
{
...
}
catch(Exception ex)
{
System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace(ex);
System.Diagnostics.StackFrame firstFrame = stackTrace.GetFrame[0];
Console.WriteLine(firstFrame.GetFileLineNumber);
...
}
여기 유일한 차이는 우리가 다음, 전체 스택 추적 얻을 수 있다는 것입니다 ... 비슷한 할 것 처음 예외가 던져진 첫 번째 프레임으로 이동하십시오.
1
음 :
+0
프레임 0이 프레임의 현재 방법이 아니고 오류가 발생한 곳이 아닙니까? –
2
개인적으로 나는 예외의 ToString() 반환 값을 기록합니다. 전체 스택 추적이 포함됩니다. 그것은 코드의 한 줄입니다 ... 죽은 단순한.
관련 문제
- 1. Microsoft의 코드에서 예외가 발생했을 때 원래 어떤 예외가 발생했는지 어떻게 알 수 있습니까?
- 2. 어떤 행에서 오류가 발생했는지 확인하십시오.
- 3. Python에서 doctest로 예외가 발생했는지 확인할 수 있습니까?
- 4. 커맨드 라인에서 PHP 코드 실행
- 5. 폼 제출시 어떤 버튼을 클릭했는지 판단
- 6. MS AJAX 라이브러리 4.0에 어떤 변화가 발생했는지
- 7. MQ에 어떤 문제가 발생했는지 확인하는 방법은 무엇입니까?
- 8. 어떤 예외가 파이썬
- 9. 유니 코드 예외가 뒤틀림
- 10. Ruby 응용 프로그램에서 사용자 정의 예외가 발생했는지 확인하는 방법은 무엇입니까?
- 11. 커맨드 라인에서 자바 WAR 컨텍스트에서 코드 실행
- 12. VBnet의 picturebox에서 어떤 이벤트가 발생했는지 알 수있는 방법
- 13. SMO Transfer Raise는 어떤 예외가 있습니까?
- 14. phpunit을 코드 범위 및 예외가
- 15. GXT에서 어떤 사건이 발생했는지 어떻게 알 수 있습니까?
- 16. 현재 코드 출력이 PHP에서 버퍼링되는지 여부를 판단 할 수 있습니까?
- 17. 중복으로 인해 SQLException이 발생했는지 확인
- 18. WebClient.DownloadFileAsync 예외가 발생하지 않습니다.
- 19. 개체가 올바른 상태가 아닙니다. 어떤 예외가 적절한가?
- 20. 0으로 나눌 때 어떤 유형의 예외가 발생합니까?
- 21. asp.net에서보기 상태 예외가 잘못되었습니다. 어떤 해결책을 아십니까?
- 22. 어떤 정보가 .net mvc에서 Model.Exception에서 수집 할 수 있습니다
- 23. 항목이 얼랑의 문자열인지 목록인지 판단
- 24. 구가 객체를 교차하는지 아닌지 판단
- 25. PHP MySQL 삽입 조건 판단
- 26. 오버플로가 발생했는지 확인하는 방법은 무엇입니까?
- 27. 폼에서 표시된 이벤트가 발생했는지 확인하는 방법
- 28. PhoneGap 응용 프로그램에서 Javascript 예외가 발생했는지 어떻게 알 수 있습니까? (Android)
- 29. 스트라이프 라인에서 객체 이동
- 30. 이 라인에서 오류가 발생했습니다
정답입니다. – Timwi