我们看上图的代码:
当我们连接时 如果db.properties的配置文件出差错 则连接不会建立成功
因为是try…catch..finally try出错则会去catch去执行 catch没有解决又去执行finally语句 则会同时出两个错误 一个是建立连接错误一个是connection.close错误
因为并没有建立成功使用关流则会报空指针错误 这里会掩盖数据库没有建立连接成功的错误 所以被障眼法所遮挡
加上关流判空处理即可解决
也有一种高级点的写法 try—-resource:
这里可以看到 preparedStatement.close();变了颜色 并提示冗(rong)余的close
表示这句话是多余的 因为idea会自动识别try—-resource:语法(jdk1.7之后)
他会自动帮你把try里的代码执行完成之后安全的把资源回收掉