黑马程序员技术交流社区

标题: 异常问题? [打印本页]

作者: 李柯    时间: 2012-3-25 13:47
标题: 异常问题?
运行时异常与一般异常有何异同?那个该抛;那个不该抛?
作者: 庞子华    时间: 2012-3-25 13:54
runtime exception和checked exception。一般异常JAVA编译器强制要求我们必需对出现的这些异常进行catch,运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。
作者: 刘蕴学    时间: 2012-3-25 14:07
本帖最后由 了无尘 于 2012-3-25 14:19 编辑

一般异常的话你还是可以去尝试拯救一下的,但是运行时异常的话就比较不好办了,比如OutOfMemoryError,内存溢出,一般都是程序本身去查看内存情况,如果内存剩余比较小的,程序本身做一些释放处理并手动gc用来释放一些内存,系统自动的gc是不受控制的,但是如果你写代码释放的话,又很难保证真的能释放掉一些,而且gc的反复调用是很卡的。
运行时异常一般都是jvm层面的异常,基本上都是程序挂掉,很少有情况能通过代码维护解决的。 而这些异常起始就是error,都是无法预期的,比如内存溢出,比如你把网线扒了还要联网之类的。
而一般异常的话,就算抛了只要你捕捉到了也不会导致程序挂掉。而且这样的异常基本上都可以通过代码避免。
作者: 贠(yun)靖    时间: 2012-3-25 17:11
运行异常就是程序执行不下去了  即RuntimeExceptioin异常     
    比如你要创建一个对象  用对象引用调用它的方法   
  而此时你调用对象出现了异常   那么调用它的方法也就没有实际意义的  程序就得终止了   
  而一般异常 是只编译时期异常   这个异常时可以处理的  也可以抛的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2