【发布时间】:2014-05-19 11:11:41
【问题描述】:
为什么很多代码写成这样:
finally{
if(out!=null){
try{out.close();}
catch(){}
}}
但不是:
finally{
try{out.close();}
catch(){}
}
【问题讨论】:
-
因为如果
out == null,你会得到一个NullPointerException -
你尝试这个时发生了什么?
-
更不用说 catch(){} 不会发生。您需要指定您捕获的内容。另外:catch(xxException e){} 不应出现在“许多代码”中,因为隐藏问题并不能解决问题。
-
try...catch在第一种情况下不需要,非空检查将完成这项工作。 -
@KishanSarsechaGajjar 在
if语句中处理显式空指针检查比作为异常处理更好。
标签: java syntax syntax-error