1.RuntimeException类
下面首先来观察一个程序代码,代码能够正常运行public class TestDemo{
public static void main(args[]){
int temp = Integer.parseInt("100");
}
}
现在来观察一下parseInt()方法的定义。
·方法:public static int parseInt(String s) throws NumberFormatException
此时parseInt()方法上抛出了NumberFormatException,按照道理来讲,应该进行强制性的异常处理,可现在并没有这种强制 性的要求,来观察一下NumberFormatException的继承结构:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang. RuntimeException → 运行时异常
java.lang.IllegalArgumentException
java.lang.NumberFormatException
在Java里面为了方便用户代码的编写,专门提供了一种RuntimeException类,这种异常类的最大特征在于:程序在编译的时候不会强制性的要求用户处理异常,用户可以根据自己的需要选择性进行处理,但是如果没有处理又发生异常了,将交给JVM默认处理。也就是说RuntimeException的子异常,可以由用户选择进行处理。
2. Exception 与 RuntimeException的区别
·Exception 是 RuntimeException的父类;·使用Exception定义的异常必须要被处理,而RuntimeException的异常可以选择性处理;
·常见的RuntimeException异常: ArithmeticException, NullPointerException,ClassCastException