![]() |
1
114
您应该记录代码可能引发的每个异常,包括您可能调用的任何方法中的异常。
另一个您可能希望这样做的地方是,如果您的方法位于API的正面。就像facade将多个接口简化为单个接口一样,API应该将多个异常简化为单个异常。使调用者更容易使用代码。 为了回答安德鲁的一些担忧(从评论中),有三种类型的例外情况:你不知道的例外情况,你知道但不能做任何事情的例外情况,以及你知道并可以做一些事情的例外情况。
那些你知道但却无能为力的异常,比如OutOfMemoryExceptions。在极端情况下,您可能希望处理这样的异常,但除非您有一些非常显著的需求,否则您会将它们视为第一类——让它们去吧。你…吗 有
|
![]() |
2
102
你应该使用 standard xml documentation
这样做的价值在于,您提供了可能发生的已知异常的文档。如果您使用的是visual studio,则此文档在intellisense中可用,并且可以在以后提醒您(或其他人)可能遇到的异常。
|
![]() |
3
36
通过使用多个优秀的外接程序,您可以简化文档编制过程。其中之一是 GhostDoc ,是Visual Studio的免费外接程序,可生成XML文档注释。此外,如果您使用 ReSharper Agent Johnson Plugin 对于ReSharper,它添加了一个选项来为抛出的异常生成XML注释。 Exceptional for ReSharper 作为替代方案。。。
step 2 http://i41.tinypic.com/osdhm
|
![]() |
4
12
据我所知,使用<例外情况>元素在修饰方法时使用它,而不是异常:
可以由调用的其他方法引发的异常应该在这些方法中捕获、处理和记录。可能由.NET引发的异常,或 由您自己的代码引发的事件应该被记录下来。 至于更具体的问题,也许您可以捕获并抛出自己的定制异常? |
![]() |
5
4
您的方法合同的一部分应该是检查先决条件是否有效,因此:
变成
|
![]() |
6
1
您应该记录您的方法可能引发的所有异常。 为了隐藏实现细节,我会尝试自己处理MyMethod2中的一些异常。
|
![]() |
7
1
事实上,正如已经回答的那样,记录异常的方法是使用XML注释。 除了插件之外,您还可以使用可以与TFS集成的静态分析工具,以确保记录了异常。
http://www.josefcobonnin.com/post/2009/01/11/Xml-Documentation-Comments-Exceptions-I.aspx http://www.josefcobonnin.com/post/2009/01/15/Xml-Documentation-Comments-Exceptions-II.aspx 当做 |
![]() |
8
0
在您的方法中记录预期的异常,在您的示例中,我会让用户知道该方法可以抛出一个文件未找到异常。
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |