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