java异常处理12条建议
所属分类 java
浏览量 1476
CheckedException
UncheckedException
OutOfMemoryError LinkageError StackOverflowError
1 不要在catch中吞掉异常
2 尽量使用特定的异常而不是Exception
细化异常
3 不要捕获Throwable
对于一些关键的后台任务,建议catch Throwable,避免线程异常退出
4 正确的封装和传递异常 ,不要丢失异常栈
catch (SomeException e) {
// throw new MyServiceException("Some information: " + e.getMessage());
//
//
throw new MyServiceException("Some information: " , e);
}
5 避免同时打印异常日志和抛出异常
catch (SomeException e) {
LOGGER.error("Some information", e);
throw e;
}
6 不要在finally块中抛出异常
7 不要使用printStackTrace
8 Throw early catch late
错误发生时及早抛出,然后在获得全部信息时再捕获处理
低层次抛出 高层次捕获处理
9 对于使用一些重量级资源的操作,发生异常时,一定记得清理
在 finally 块 清理 close
10 不要使用异常来控制程序逻辑流程
11 尽早校验输入
12 日志打印尽量在一行中包含尽可能多的上下文
上一篇
下一篇
prometheus使用入门
使用node-exporter监控主机信息
prometheus数据模型
软件架构的10个常见模式
prometheus术语
prometheus指标类型