C#では、子オブジェクトにtry catchブロックブロックがあり、親オブジェクトにtry catchブロックブロックがある場合、オブジェクトが例外をスローした場合、両方の例外の詳細を取得するにはどうすればよいですか?ここ子オブジェクトと親オブジェクトに例外がスローされた場合の両方の例外を取得する方法
は例外クラスです。
public class CompileObjectException : InvalidOperationException
{
private ICustomObject _ownerCustomObject { get; set; }
public ICustomObject OwnerCustomObject
{
get
{
return _ownerCustomObject;
}
set
{
_ownerCustomObject = value;
}
}
public CompileObjectException()
{
}
public CompileObjectException(ICustomObject ownerCustomObject, string message)
: base(message)
{
_ownerCustomObject = ownerCustomObject;
}
}
CompileObjectException
は、オブジェクトの両方でスローされる場合、OwnerCustomObject
は、例外がスローさにされているオブジェクトに設定されている
上記のコードで私は親オブジェクトと子オブジェクトの両方に対してOwnerCustomObject
を取得したいと考えています。
のInnerExceptionを見ると、値はnullです。これを私のCompileObjectExceptionクラスにコードする必要がありますか? – user3736648
呼び出し側が例外情報を明示的に伝播せず、内部例外のために 'null'を取得するケースがあることに注意してください。サーバサイドコードは通常、' SqlException'のような設定情報を漏らす可能性のあるすべてのエラーをマスクするトップレベル例外ハンドラを持っています。 –