先看一段代码:

public void doExchange()
  
throws Exception {
  [hyddd的Fortify SCA分析Java代码记录][Structural]Poor Error Handing:Overly Broad Throws
}

当一个函数定义为Exception/Throwable时,调用这个函数的人很难判断到底这个函数可能会出现什么Exception,简单说 Exception/Throwable太笼统了,这样不利于调用者分别处理各种异常,所以应该在函数定义时尽量说明函数有可能抛出的异常类型,如下面的代码:

 

public void doExchange()
  
throws IOException, InvocationTargetException,
         SQLException {
  [hyddd的Fortify SCA分析Java代码记录][Structural]Poor Error Handing:Overly Broad Throws
}

其实[Structural]Poor Error Handing:Overly Broad Throws和[Structural]Poor Error Handing:Overly Broad Catch的想法很类似,大家可以参考一下。

 

相关文章: