Runtime Exception,也就是我们所说的称运行时异常,是无需我们在代码中进行捕捉处理的,虚拟机取而代之,为我们进行了异常的处理。以下是我总结的几个比较常见的运行时异常。
NullPointerException:空指针异常类
示例:
package com.darkmi.basic;
public class Test {
public static void main(String[] args) {
System.out.println(toUpper(null));
}
public static String toUpper(String str){
return str.toUpperCase();
}
}
异常信息如下:
Exception in thread “main” java.lang.NullPointerException
at com.darkmi.basic.Test.toUpper(Test.java:11)
at com.darkmi.basic.Test.main(Test.java:6)
ArrayIndexOutOfBoundsException:数组下标越界异常
示例:
package com.darkmi.basic;
public class Test {
public static void main(String[] args) {
int[] a = {0,1,2,3};
System.out.println(a[4]);
}
}
异常信息如下:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 4
at com.darkmi.basic.Test.main(Test.java:7)
ArithmeticExecption:算术异常类:
示例:
package com.darkmi.basic;
public class Test {
public static void main(String[] args) {
int a = 10 / 0;
System.out.println(a);
}
}
异常信息如下:
Exception in thread “main” java.lang.ArithmeticException: / by zero
at com.darkmi.basic.Test.main(Test.java:6)
ClassCastException:类型强制转换异常
示例:
package com.darkmi.basic;
public class Test {
public static void main(String[] args) {
testParse(“aaa”);
}
public static void testParse(Object str){
Integer i = (Integer)str;
}
}
异常信息如下:
Exception in thread “main” java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at com.darkmi.basic.Test.testParse(Test.java:10)
at com.darkmi.basic.Test.main(Test.java:6)
Sorry, the comment form is closed at this time.
感谢分享
加个友情链接吧,呵呵,www.tonyxu.net
顶~
不过有太多直接或间接继承RuntimeException类的了
比如 StringIndexOutOfBoundsException、ArrayIndexOutOfBoundsException 都是继承自IndexOutOfBoundsException
而在源代码中查找又不是很方便 这些确实需要系统的整理一下