当前位置:  开发笔记 > 编程语言 > 正文

有没有理由不在自己的代码中使用.NET Framework定义的异常类?

如何解决《有没有理由不在自己的代码中使用.NETFramework定义的异常类?》经验,为你挑选了1个好方法。

因此,我们使用Enterprise Library 4.1异常处理应用程序块来处理在多项目应用程序中记录/处理异常.我们有一些自定义异常,并抛出一些异常,其类在.NET框架的标准类库中定义(例如ArgumentException,InvalidOperationException,ArgumentNullException等).

今天,我们的团队负责人决定他不希望我们使用后者,因为.NET框架会抛出这些类型的异常,为了便于使用应用程序块的策略进行过滤,我们应该只使用自定义异常,至于实际上与自定义版本重复的.NET标准类库异常,如Custom ArgumentException,Custom InvalidOperationException等.

我的问题是,这种方法有什么问题?我当时无法用手指指着它,但它闻到了我的错误,我无法摆脱对此的不安情绪.我担心的事情真的不是那么重要吗?我想这只是感觉就像在这里摇尾巴的尾巴......



1> Jon Skeet..:

伊克.我不喜欢它是:

它复制了现有的类型

它违反了最不惊讶的原则

这意味着如果你想在任何地方找到你使用了错误的参数值(比如说),你必须寻找两种类型的异常层次而不是仅仅寻找ArgumentException.

我建议你让团队领导阅读Effective Java 2nd edition的第 60项.是的,它是关于Java而不是C# - 但原则保持不变.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有