1、ArrayIndexOutOfBoundsException。
2、NullPointerException。
3、ClassNotFoundException。
4、Throw:Error (不处理)和Exception(处理)。
5、不是所有的对象都是可以抛出的,无论是Error还是Exception都是需要抛出的。
6、throw 和throws 体现可抛出性。
7、Error:OutOfMemory :Java heap space。
8、有了异常的存在,使得函数结束除了return还有异常。
9、JVM首先进行的是语法检查,然后进行简单的逻辑检查,特别是异常的处理。
10、如果在函数内部有自定义异常的存在,那么必须对自定义异常进行处理,常见的处理方式有两种,第一种是为方法添加声明抛出,另外一种是添加到try{}catch(E e){}语句中
举例:
package 异常处理;
class FuShuException extends Exception{
public FuShuException(){
}
public FuShuException(String str){
super(str);
}
}
class Demo1{
public int info(int arr[],int index) throws FuShuException{
if(arr==null){
throw new NullPointerException("空指针异常:"+arr);
}
if(index>=arr.length){
throw new ArrayIndexOutOfBoundsException("数组下标太大了:"+index);
}
if(index<0){
throw new FuShuException("数组下标太小了:"+index);
}
return arr[index];
}
}
public class Test04 {
public static void main(String[] args)throws FuShuException {
Demo1 demo1=new Demo1();
int []arr=new int[3];
demo1.info(arr,-1);
}
}