异常与错误的两大类:
JVM异常
程序异常
JVM异常中的NullPointerException,该异常可以很好的编译不会出错,但运行时会抛出NullPointerException异常。- class NPE{
- static String s;
- public static void main(String args[]){
- System.out.println(s.length());
- }
- }
复制代码 还有一种错误为StackOverflowError异常,该异常是由于空间栈的耗尽所造成的。常常引起该异常的情况是递归。同样编译器可以很好的编译,但只有JVM知道何时会发出这种情况。
编程方式的异常是由开发人员写或应用程序创建。通常以throw 方法抛出。但通常不会由JVM抛出。
比如 IllegalArgumentException、NumberFormatException等,我们所说的检验异常便士由编程方式抛出的,当然有时非检验异常也可有编程方式抛出
|