首页   快速返回

java异常处理12条建议     所属分类 java
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指标类型