运行时异常:
运行时异常是由java虚拟机抛出的
运行时异常是由java虚拟机接管,出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。
如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。
常见的运行时异常:
ArithmeticException - 算术运算中,被0除或模除
ArrayIndexOutOfBoundsExc
ArrayStoreException -数据存储异常,写数组操作时,对象或数据类型不兼容
ClassCastException - 类型转换异常
IllegalArgumentException
IllegalThreadStateExcept
NullPointerException -试图访问一空对象的变量、方法或空数组的元素
NumberFormatException -数据格式异常,试图把一字符串非法转换成数值(或相反)
SecurityException -如果Applet试图执行一被WWW浏览器安全设置所禁止的操作
IncompatibleClassChangeE
OutOfMemoryException -内存不足,通常发生于创建对象之时
NoClassDefFoundException
IncompatibleTypeExceptio
UnsatisfiedLinkException
InternalException -系统内部故障所导致的异常情况,可能是因为Java运行时系统本身的原因。如果发现一可重现的InternalException,可以直接给Sun公司发电邮java@java.Sun.com
一般异常:
一般异常就是我们一般遇到的IO异常和SQL异常,遇到这种异常我们不得不写catch语句处理可能出现的异常,因为java编辑器强制要求我们必须对这些异常进行catch处理。
本文详细介绍了Java中的运行时异常,包括其特点、处理方式及常见类型,如ArithmeticException、NullPointerException等,并对比了一般异常。

被折叠的 条评论
为什么被折叠?



