自动产生:当程序遇到错误代码,会产生异常,程序终止。
手动产生:throw new 异常类名();
throw必须定义在方法体中,用来抛出一个Throwable类型的异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。
(视频教程推荐:java视频教程)
举例:
手动抛出异常package prac;
public class t2 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
m1();
}
public static void m1() throws Exception {
System.out.println("m1----------start");
m2();
// 手动抛出受查异常
throw new Exception();
//System.out.println("m1----------end");
}
public static void m2() {
System.out.println("m2----------start");
// 手动抛出运行时异常,需要携带信息“程序因为异常而终止”
throw new RuntimeException("程序因为异常而终止");
//System.out.println("m2----------end");
}
}
程序运行结果为:
m1----------start
m2----------start
Exception in thread "main" java.lang.RuntimeException: 程序因为异常而终止
at prac.t2.m2(t2.java:31)
at prac.t2.m1(t2.java:21)
at prac.t2.main(t2.java:16)