throws 和throw的区别

class FuShuIndexException extends Exception
{
    FuShuIndexException(){
        
    }
    FuShuIndexException(String msg){
        super(msg); 
    }
} 
class Demo{
    public int method(int[] arr,int index)throws FuShuIndexException
    {
        if(index<0){
            throw new FuShuIndexException("角标变成负数了!");
        }
        return arr[index];
    }
    
    
}
class ExceptionDemo2{
    public static void main(String[] args)throws FuShuIndexException
    {
        int[] arr = new int[3];
        Demo d = new Demo();
        int num = d.method(arr,-2);
        
    }
    
}

1,throws使用在函数上。
throw使用在函数内。
2,throws抛出的是异常类,可以抛出多个,用逗号隔开。
throw抛出的是异常对象。

标签: none