我现在正在处理异常。 Im正在使用
try
{
stuff();
}
catch (NullReferenceException ex)
{
logTheError(ex, "NullReferenceException", "functionname");
}
catch (Exception ex)
{
logTheError(ex, "Exception", "functionname");
}
我想在这里捕获所有异常,并在logTheError-function中处理它们(该函数已经将一个条目写入数据库以备以后使用)。 但是如果异常是NullReferenceException,我无法检查它。
if (ex == NullReferenceException)
or
if (ex.GetType == NullReferenceException)
这没有奏效。 我认为有一个非常简单的解决方法。 我还想知道,如果我能得到异常的名称(也许这就是类型?)
提前谢谢你!
请尝试以下操作:
try
{
stuff();
}
catch ( Exception ex )
{
logTheError( ex, "Exception", "functionname" );
}
然后在日志记录函数中:
if ( ex is NullReferenceException )
handleNullreference();
else if ( ex is KeyNotFoundException )
handleKeyNotFound();
// ...
else
handleUnknown();