我在我们的代码库中偶然发现了类似以下内容的内容......
protected bool IsThing(object item)
{
try
{
return item is Thing;
}
catch (Exception)
{
return false;
}
}
我正在尝试弄清楚是否有任何情况会访问该catch
?
is
关键字从不引发异常。这是一种无用的方法,您应该将其删除。
if(IsThing(item)) {...}
可以而且应该用if(item is Thing) { ... }
"is"关键字的全部意义在于不会发生异常!http://msdn.microsoft.com/en-us/library/scekt9xw.aspx