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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 饥渴ing 中级黑马   /  2014-6-6 10:00  /  1293 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

throw new RuntimeException();为什么不需要try{}catch(){}呢?

4 个回复

倒序浏览
Runtime异常是在运行中必然出现的异常,例如空指针,数组下标越界,1/0等,这些异常是不能被jvm提前预知的,所以不用try{}catch去解决  就算你括起来了  代码本身的的bug也是依旧存在的 不能解决问题。
如果不是runtime,例如你在使用socket的时候,连接某台主机的某个端口,如果这个端口打开的时候,你可以连接,没有打开的话,你连接就可能出现异常,这个异常就需要你去处理,例如才catch中写代码  {换个主机,或者换个端口重新连接}  大致就这些  有啥问题继续发
回复 使用道具 举报
RuntimeException()是运行异常,在运行的时候才会被发现。而try{}catch{}是在编译的时候对代码进行异常检测,和处理异常。
回复 使用道具 举报
RuntimeExcepetion属于运行时出现的异常,在没运行之前是检测不到这个异常的,所以也就不会提示你加try catch的,至于运行以后报的RuntimeException原因多了去了,你也没法提前预知他去try catch啊~我想应该是这样的吧~
回复 使用道具 举报
因为这个异常出现就要让程序停掉。意思是这个错误很严重,后果不可挽回。就像那些在公开场合砍人的”东突分子“,警察来了是不会说服教育的,直接枪毙。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马