只是出于好奇,我想知道异常类有什么特别之处,使其能够与关键字Throw
一起使用,而标准类则不行。
我发现异常类实现了以下内容:
public class Exception : System.Object, System.Runtime.Serialization.ISerializable, System.Runtime.InteropServices._Exception
{
}
我尝试实现相同的接口并尝试抛出一个不派生自System.Exception
的自定义异常,但都没有成功。 我只是被告知:
被捕获或抛出的类型必须派生自
System.Exception
那么这是有什么具体的原因吗?我认为应该有,因为托管语言中很少的选择似乎都是随意的。
throw
的实现,而不是Exception
类。 - Guillaume