小编The*_*eys的帖子

避免使用try-catch语句的充分理由

示例#1:

try { fileChooser.setSelectedFile(new File(filename)); }
catch (NullPointerException e) { /* do nothing */ }

示例#2:

if (filename != null)
    fileChooser.setSelectedFile(new File(filename));

出于性能或稳定性(或任何其他原因),#1本质上是不好的,还是只是有点不同?这不是一个很好的例子,因为#1优于#2没有优势,但在不同情况下可能存在(例如,可读性提高,代码行数减少等).


编辑:共识似乎是#1是禁忌.最受欢迎的原因:开销

此外,@ Raph Levien有一个很好的见解:

避免#1的一个原因是它会中毒你使用异常断点的能力.正常运行的代码永远不会故意触发空指针异常.因此,将调试器设置为每次发生时都停止是有意义的.在#1的情况下,您可能会例行地获得此类异常.除其他正当理由外,还有潜在的性能影响.

另外,请参阅链接以获取更多深度.

java exception-handling try-catch

6
推荐指数
3
解决办法
2804
查看次数

标签 统计

exception-handling ×1

java ×1

try-catch ×1