Java의 Exception.printStackTrace ()에 해당하는 C #?
Java와 동일한 C # 메서드가 Exception.printStackTrace()
있습니까? 아니면 InnerExceptions를 통해 작업하면서 직접 작성해야합니까?
이 시도:
Console.WriteLine(ex.ToString());
에서 http://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx :
ToString의 기본 구현은 현재 예외를 발생시킨 클래스의 이름, 메시지, 내부 예외에서 ToString을 호출 한 결과, Environment.StackTrace를 호출 한 결과를 가져옵니다. 이러한 멤버 중 하나라도 null이면 해당 값이 반환 된 문자열에 포함되지 않습니다.
위의 코드에서는 직접 받아 호출 ToString
하는 오버로드가 있으므로 호출 이 필요하지 않습니다 .System.Object
ToString
추가하고 싶습니다 : 예외 외부에 스택을 인쇄하려면 다음을 사용할 수 있습니다.
Console.WriteLine(System.Environment.StackTrace);
Drew가 말했듯이 예외를 문자열로 변환하면됩니다. 예를 들어,이 프로그램은 :
using System;
class Test
{
static void Main()
{
try
{
ThrowException();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
static void ThrowException()
{
try
{
ThrowException2();
}
catch (Exception e)
{
throw new Exception("Outer", e);
}
}
static void ThrowException2()
{
throw new Exception("Inner");
}
}
다음 출력을 생성합니다.
System.Exception: Outer ---> System.Exception: Inner
at Test.ThrowException2()
at Test.ThrowException()
--- End of inner exception stack trace ---
at Test.ThrowException()
at Test.Main()
http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx
Console.WriteLine (myException.StackTrace);
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
Java의 Log4J처럼 예외를 인수로 받아 모든 것을 처리 할 수있는 C # 로깅 API가 없습니까?
즉, Log4NET을 사용하십시오.
또한 Log4Net을보십시오. Log4J에서 .NET으로의 포트입니다.
참고 URL : https://stackoverflow.com/questions/333953/c-sharp-equivalent-to-javas-exception-printstacktrace
'your programing' 카테고리의 다른 글
자바 getHours (), getMinutes () 및 getSeconds () (0) | 2020.10.13 |
---|---|
봄에는 항아리 내부의 파일이 보이지 않습니다. (0) | 2020.10.13 |
십진수의 정수 부분을 얻는 가장 좋은 방법 (0) | 2020.10.13 |
삽입 모드에서 줄 처음으로 이동 (0) | 2020.10.13 |
클래스, 객체 및 인스턴스의 차이점 (0) | 2020.10.13 |