A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangyujoe 中级黑马   /  2014-10-25 15:42  /  1463 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么当方法throws Exception时,调用该方法的地方没有处理,编译就不通过;
而当方法throws ArithmeticException时或者ArrayIndexOutOfBoundsException时,调用该方法的地方没有处理,编译可以通过

6 个回复

倒序浏览
这两个应该是runtimeexception,runtimeexception是比较特殊的异常,他的出现基本上意思就是让你程序停止,需要修改代码,所以编译不会出错,但是出现了就是程序停止所以你可以不声明抛出,抛出了你使用也可以不处理,你可以看看视频去有专门关于runtimeexception异常的,
回复 使用道具 举报
RuntimeException顾名思义是运行时异常,也就是运行时才产生异常,在编译阶段是看不到异常的。运行时异常是比较严重的异常,一旦发生就需要让程序停止运行。比如ArithmeticException等等就是属于这一类型。异常看似没有什么用途,在开发中使用的很频繁
回复 使用道具 举报 1 0
Exceptoin中有一个特殊的子类异常RuntimeException 运行时异常。如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过;之所以不用在函数声明,是因为不需要让调用者处理。当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。
回复 使用道具 举报
RuntimeException问题,其实还是建议最好能够try一下!
回复 使用道具 举报
youtianlong123 来自手机 中级黑马 2014-10-26 17:30:19
地板
以上两个异常都是运行时异常,顾名思义,就是在运行时才会异报的异常,编译时当然可以通过
回复 使用道具 举报
其实如果抛出运行时异常时,是可以不用在方法上声明的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马