它说派生类不应该抛出任何基类不知道的异常,我试图找出它是如何工作的,在基类中我抛出 System.Exception,而在派生类中我抛出 ArgNullException()。有人能解释一下这很好吗
class b
{
virtual public void foo()
{
try
{
if (true)
throw new System.Exception();
}
catch (Exception ex)
{
Console.WriteLine("in base");
}
}
}
class a : b
{
override public void foo()
{
try
{
if (true)
throw new ArgumentNullException();
}
catch (Exception ex)
{
Console.WriteLine("in dervied");
}
}
}