【发布时间】:2012-09-18 19:00:13
【问题描述】:
所以,出于好奇,我想看看异常类有什么特别之处,它允许它与关键字 Throw 一起使用,而标准类则不能。
我发现异常类实现了以下内容
public class Exception : System.Object, System.Runtime.Serialization.ISerializable, System.Runtime.InteropServices._Exception
{
}
所以我尝试实现这些相同的接口并尝试抛出我自己的自定义异常,该异常不是从System.Exception 派生的,但无济于事。我只是被告知
捕获或抛出的类型必须派生自
System.Exception
那么有什么具体的原因吗?我认为托管语言中的选择似乎是任意的。
【问题讨论】:
-
我认为要了解它是如何工作的,看看
throw的实现而不是Exception的类会更有意义。 -
很公平,但老实说,我什至不知道从哪里开始这样做......
标签: c# .net exception compiler-errors