空指针异常(NullPointerException)
String str=null;
System.out.println(str.length());
数组下标越界(ArrayIndexOutOfBoundsException)
int[] ary={1,2,3}
for{int i=0;i<=3;i++){
System.out.println(ary[i]);
}
类型转换异常(ClassCastException)
class Animal{
}
class Dog extends Animal{
}
class Cat extends Animal{
}
public class Test{
public static void main(String[] args){
Animal a1=new Dog();
Animal a2=new Cat();
Dog d1=(Dog)a1;
Dog d2=(Dog)a2;
算数异常(ArithmeticException)
int one=12;
int two=0;
System.out.println(one/two);
运行时异常会由java虚拟机自动抛出,并自动捕获。
运行时出现异常大部分情况说明代码本身有问题,应该从逻辑上去改进代码。