10
|
SwDevMan81 Chris Barlow · 技术社区 · 15 年前 |
1
5
我曾经有过这样有用的地方。但更常见的是,当我想这样做时,发现问题出在我的设计中;我试图在错误的地方处理异常。 相反,我需要允许它上升到下一个级别——在调用此代码的函数中处理它,而不是在那里。 |
2
27
因为你会在一个无关的关键字中“隐藏”额外的功能。 但是你可以一直这样写
这样,行就代表了您的意图——一个使用语句,也是一个尝试 |
3
12
|
4
8
使用块只是try finally块的语法糖。如果需要catch子句,只需使用try catch finally:
是的,这比你理论上的“使用catch”更多的是代码;我判断语言开发人员没有把这当作一个非常高的优先级,我不能说我从未感受过它的损失。 |
5
2
一个有趣的想法,但它会让以下内容有点混乱:
|
6
2
在我看来,你把关注点混为一谈。资源管理(即对象处置)与异常处理完全分离。您在问题中描述的一对一映射只是一个非常特殊的情况。通常,异常处理不会在使用范围结束时的同一位置发生。或者在一个using块中可能有多个try-catch区域。或者… |
7
0
我建议您结合使用示例1和示例2。原因是您的using语句可以读取一个文件,例如,并引发一个异常(即找不到文件)。如果您没有捕捉到它,那么您有一个未处理的异常。将try catch块放入using块中只会捕获在using语句执行后发生的异常。示例1和示例2的组合是最好的imho。 |
8
0
“using”语句的目的是确保当执行退出代码块时,无论该退出是通过fall-through、异常还是
在一些特殊情况下,条款可能会有所帮助;它们的附加效用水平将远远低于
(1)在对象的构造器或工厂中有一个非常常见的模式,它封装了其他对象。
(2)在某些情况下,如果
我不知道微软是否会添加这些功能;第一部分和第二部分的第一部分将完全在语言级别处理。第二部分的后面部分将在框架级别。 |
jlandercy · PostgreSQL参数化窗口大小 7 年前 |