public boolean ahya(Vector vec)
{
 boolean result = false;
 try{
  int a=0,b=1;
  b=b/a;
 }catch(Exception e){
  vec.addElement("hello");
  return result;
 }finally{
  result = true;
  vec.addElement("goodbye");
 }
 return result;
}

これって、戻り値は false なのに vec には goodbye まで入るんですね。
高確率でバグの元になりそうだね。