xiangyu_xinghua
xiangyu_xinghua
2014-12-16 12:33
采纳率: 100%
浏览 1.7k
已采纳

求教:下面的代码中为何手动抛出异常

栈的pop方法,我们这样写:
int pop(){
return array[top--];
}
然后我看jdk源代码,写法相当于:
int pop(){
if(top<0)throw new ArrayIndexOutOfBoundsException();
return array[top--];
}
然而即使没有增加的那句话,当top等于-1时,Java运行环境仍然会自动帮我们抛出ArrayIndexOutOfBoundsException,那么还要自己手动抛出异常干嘛?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • save4me
    save4me 2014-12-16 15:41
    已采纳

    自己手动抛出异常,提供更多的主动和灵活处理的可能,java运行环境抛出异常,只有程序运行时才会发现。

    点赞 评论
  • caozhy

    你抛出异常给你的调用者,java抛出异常给你。不是一回事。

    点赞 评论
  • xmt1139057136
    业余草 2014-12-18 08:52

    ArrayIndexOutOfBoundsException异常数组越界了。你的代码如下:

     int pop(){
                    return array[top--];
    }
    

    好像没有手动抛出异常!!!

    点赞 评论

相关推荐