throws异常
package frank;
import java.lang.*;
/**
 * throws异常,可以抛出多个异常类,多个用,号隔开。
 * 如果一个方法声明了抛出异常,那么在另一个方法里面调用要么在try...catch中,要么也是声明抛出异常签名。
 * 子类在重写父类方法的时候异常签名要么是父类异常的子类,要么跟父类一样,不能比父类大。
 * */
public class App
{
	public static void main(String[] args)throws Exception//直接在方法签名上声明,直接把异常交给jvm,Jvm直接打印输出,然后结束程序。
	{
		try
		{
			get(args);//方法不用声明抛出异常签名
		}
		catch(Exception e)
		{
			
		}
		getRuntimeException();
		get(args);//如果不用try捕获,那么必须放在声明抛出异常签名的方法中
	}
	static void get(String[] args)throws Exception
	{
		if(args.length<=0)
		{
			throw new Exception("没有可用的值!");//手动抛出一个检查时异常,必须放在声明抛出异常签名的方法中
		}
	}
	static void getRuntimeException()
	{
		throw new RuntimeException("运行时异常!");//声明抛出非检查时异常(及运行时异常)的时候方法名不用声明抛出异常签名。可以交给调用者捕获,也可以不用理会。
	}
}
catch里面可以再次抛出另外一个异常对象。java 7 中可以直接抛出现有的异常对象:throw e;
                    
                
                
            
        
浙公网安备 33010602011771号