try - with - resources 方式
不要在finally块中使用return:
finally块中的return返回后方法结束执行,不会再执行try块中的return语句
捕获异常与抛出异常必须完全匹配...异常,注意NPE产生的场景:
返回类型为基本数据类型,return包装数据类型的对象时, 自动拆箱有可能产生NPE
数据库的查询结果可能为null
集合里的元素即使isNotEmpty, 取出的数据元素也可能为...null
远程调用返回对象时,一律要进行空指针判断,防止NPE
对于Session中获取的数据,建议进行NPE检查,避免空指针
级联调用obj.getA().getB.getC(), 一连串的调用,容易产生...NPE
JDK 8使用Optional类来防止NPE问题
定义时区分unchecked和checked异常,避免直接抛出new RuntimeException(), 不允许抛出Exception或者Throwable...应该使用有业务含义的自定义异常
推荐使用业务界已定义过的异常:
DAOException
ServiceException
对于公司外的http或者api开放接口必须使用 "错误码"; 应用内部推荐异常抛出