标题: 运行时异常与一般异常有何异同? [打印本页] 作者: 谢明 时间: 2012-3-9 13:53 标题: 运行时异常与一般异常有何异同? 运行时异常与一般异常有何异同?作者: 付鹏 时间: 2012-3-9 14:37
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常可以用try catch捕捉处理,但是并不要求必须声明抛出未被捕获的运行时异常。 比如RuntiimeException,,大概就这个意思 作者: 吴璞玉 时间: 2012-3-9 14:39
一般异常Java编译器强制要求处理这类异常,如果不处理这类异常,程序将不能被编译。
运行时异常我们可以不处理,出现运行时异常之后,要么是线程中止,要么是主程序终止。作者: 许圣建 时间: 2012-3-9 19:30
首先,建议楼主先进行问题搜索,这个问题我都看到好几次了....
然后,我以前的看法:
It’s interesting to note that the only Throwable subclasses that provide the cause argument in the constructor are the three fundamental exception classes Error (used by the JVM to report system errors), Exception, and RuntimeException,这是我从thinkinginjava摘录的一句话,你可以将runtimeException直接理解成与error,exception并列的,
通常不需要你去处理,也就是不用抛出和声明,也不用try处理,这是虚拟机会做的工作,你只要在出现运行时异常时修改你的bug,因为出现这种异常并不是语法错误而是你的程序有问题,重新设计修改完善才是解决办法。泛型就是一个很好的例子,它的出现将一个runtime异常转移成了编译时的ClassCastException类型转换异常,提高了安全性。 作者: 黄方 时间: 2012-3-9 19:40
Throwable是所有Java程序中错误处理的父类,有两种子类:Error和Exception。