已经使用C#大概五年了,而且现在只是对我的关于自定义异常的类可见性有所了解.编写内部甚至私有的嵌套异常是非常合法的,如:
internal class WhyDoThis : Exception { } public class Foo { private class WhyWhyWhy : Exception { } }
所以当你把这些例外放在你的DLL中时,只有(少数)人做体面的(非小宠物)异常处理才能使他们的应用程序崩溃.
所以我的问题是,这种模式的目的是什么?或者为什么这甚至合法?
解决方法
一个简单的答案是:它与任何不良代码一样合法.
我真的不能想到在这里说的任何事情都不会超出这个问题的范围.那就是它是怎么回事任何人,在任何时候,都可以编写代码,即使可以编译只是简单而可怕.
编辑:
我实际上可以想到一种情况,其中内部异常可以有一些用途:用于测试和声明框架,如Code Contracts.但这是一个非常边缘的情况.