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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戎石锁 中级黑马   /  2012-8-10 18:27  /  1826 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚复习了下异常类...现在又恨迷糊了
我们在函数内部throw了 RuntimeException  就可以不在函数上声明了,  而不在函数上声明也就是说不需要处理了,然后我们抛异常不就是为了别人可以处理吗?为什么这个不需要处理呢?而让在运行时出错。[/b
]

4 个回复

倒序浏览
Exception异常是需要编写异常处理代码进行处理的。
而RuntimeException异常是不需要编写代码进行处理,因为它是运行时异常,就是为了报错后,让你修改代码的

throws抛出时,如果是Exception的异常,必须捕获或者抛出。
而如果是RuntimeException的异常,不用捕获或者抛出。并且,连throws都可以不用
回复 使用道具 举报
有些异常不能够自己处理,即使处理了后续代码也会出现问题
所以RuntimeException这哥异常是运行时异常,当代码运行到这个异常时,程序就中断了,后续代码就不载运行了
回复 使用道具 举报
本帖最后由 李志广 于 2012-8-10 18:58 编辑

异常有两种:
Exception和RuntimeException异常
A:Exception:一般性的错误,是需要我们编写代码进行处理的。
B:RuntimeException:运行时异常,这个我们也不需要处理。
编译时被检测异常
该异常在编译时,如果没有处理(没有抛也没有try),编译失败。
该异常被标识,代表这可以被处理。
运行时异常(编译时不检测)
在编译时,不需要处理,编译器不检查。
该异常的发生,建议不处理,让程序停止。需要对代码进行修正。
看一下,毕老师在视频中的总结,你就会一目了然的。希望对你有所帮助!!!!!!{:soso_e100:}
回复 使用道具 举报
      就拿毕老师举得电脑讲课的例子说明,老师讲课调用电脑,电脑会出现蓝屏和冒烟两种异常。电脑蓝屏的情况下,电脑抛出异常,这时老师捕获了蓝屏的异常,老师自己重启就可以解决这个异常了。解决异常以后电脑正常运行,讲课也就可以正常运行。这是抛出异常的作用,就是调用者处理后程序可以继续运行。
      而冒烟这个异常即使抛出了,老师捕获后也处理不了。这时没有别的办法,只能停止上课。这种情况下我们就使用RuntimeException,当电脑冒烟时,抛出这个异常,并且停止程序,而不是处理。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马