c# – 为方法抛出的所有异常生成代码

您是否知道是否有任何选项或扩展来生成捕获Visual Studio中方法抛出的所有异常所需的代码?

例如,我正在调用File.WriteAllBytes(…)

该方法可以抛出9个Exceptions:System.ArgumentException,System.ArgumentNullException等等.

我想要所有9个例外的代码:

catch (ArgumentException) {

}
catch (ArgumentNullException) {

}
...

我在Eclipse for Java中看到过这种行为,但我想知道Visual Studio中是否有类似的东西.

顺便说一下,我正在使用Visual Studio 2012 Premium

解决方法

在Visual Studio中没有这样的东西.

主要问题是,与Java不同,C#不支持throws子句.因此,没有办法直接知道方法会引发什么可能的异常.该工具是围绕语言功能构建的,C#中不存在该功能.

Anders Hejlsberg discusses this decision in detail in this interview.

话虽如此,在C#中,您通常不希望明确捕获所有这些异常.您应该只捕获可以正确处理的异常.如果要捕获所有用于记录puroses的异常,只需在任何特定异常类型之后使用单个catch(Exception e),它将捕获所有其他异常.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


c语言数组越界会怎么样
c语言指针怎么等于数组
c语言数组怎么存入文字
c语言中怎么显示数组
c语言数组元素怎么选
c语言数组怎么累加
c语言数组符号怎么输入
c语言怎么用长数组
c语言数组函数怎么输入
c语言数组怎么去掉差异
c语言怎么求解数组
c语言数组怎么用变量
c语言怎么申明数组
c语言怎么控制数组
c语言怎么计算数组长度
c语言数组怎么插星号
c语言数组怎么加长度
c语言中怎么输出数组
c语言怎么记住数组边界
c语言数组怎么输入符号