在JavaScript中打破forEach方法的首选方法
这个问题在这里已经有了答案:
  forEach不应该打破。  如果你想打破一个forEach的循环,尝试every或some ,让你摆脱循环。 
重新编写代码的可能方法可能是
var sum = 0;
yourArray.some(function (item) {
    if (sum > 5) {
        return true;
    }
    sum += item;
});
  你无法摆脱forEach 。  只需使用正常的循环 
for(var i = 0; i < a; i++){
   sum += a[i];
   if(sum > 5) break;
}
你目前的代码似乎有点傻。
  你的try / catch块没用,因为你不会为catch块捕获错误,然后重新抛出(?)并且你不需要alert("break");  停止脚本。 
  无论如何,你无法摆脱forEach循环,我想你只想使用正常的for循环: 
function sum(list){
  var sum = 0;
  for (var i = 0, len = list.length; i < len; i++){
    sum += list[i];
    if (sum > 5){
      break;
    }
  }
  return sum;
}
