Ben*_*ins 8 language-agnostic exception
我几乎感到尴尬地问,但我总是很难如何组织异常定义.我以前做过的三种方式是:
我真的不喜欢上面的任何一种,但有一种最好的做法,我还没有接受,那会更好吗?
编辑:有趣.来自"Programming Visual C#2008:The Language",Donis建议:
为了方便和可维护性,将应用程序异常作为一个组部署在单独的程序集中.(第426页)
我想知道为什么?
我倾向于在每个文件中将Exceptions放在与生成它们的对象相同的包中,在单个文件中.这是Java API和.Net库使用的范例,因此大多数人至少熟悉对象的组织.
现代IDE在跟踪目录中的文件方面做得非常好,使得在同名文件中使用类的好处往往超过拥有更少文件的价值.
我使用以下方法:
后者的一个变体是使异常成为抛出类的成员。我曾经这样做过,但发现很麻烦。