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号