Message: string형 프로퍼티이다. 예외가 발생한 원인에 대한 설명을 담고 있다.
innerException: 예외는 자신이 새로운 예외를 던질 수 있다.
catch블록에서 예외를 잡을 때는 새롭게 던져진 예외를 잡게 되는데
innerException 프로퍼티를 사용하면 근원적인 예외에 대한 정보를
얻을 수 있다.
자신이 다른 예외에 의해 던지진 예외가 아니라면 null값을 가진다.
Source: 에러를 발생시킨 어플리케이션이나 객체의 이름을 가지고 있다.
StackTrace : 예외가 발생한 위치에 대한 정보를 가지고 있다.
TargetSite : 예외가 발생한 메서드에 대한 정보를 가진다.
==============================================================================
using System;
class Division
{
public void
divide()
{
try
{
int zero = 0;
int j =
3/zero;
}
catch (Exception
e)
{
Console.WriteLine("예외발생 :
{0}",e.Message);
Console.WriteLine("예외가 발생한 위치 :
{0}",e.StackTrace);
Console.WriteLine("예외의 종류 :
{0}",e.GetType());
Console.WriteLine("예외를 일으킨 객체 :
{0}",e.Source);
Console.WriteLine("InnerException :
{0}",e.InnerException);
Console.WriteLine("TargetSite :
{0}",e.TargetSite);
}
}
}
public class MainApp
{
public static void
Main()
{
Division d = new Division();
d.divide();
}
}