自動(dòng)產(chǎn)生:當(dāng)程序遇到錯(cuò)誤代碼,會(huì)產(chǎn)生異常,程序終止。
(推薦教程:java入門教程)
手動(dòng)產(chǎn)生:throw new 異常類名();
throw必須定義在方法體中,用來(lái)拋出一個(gè)Throwable類型的異常。程序會(huì)在throw語(yǔ)句后立即終止,它后面的語(yǔ)句執(zhí)行不到,然后在包含它的所有try塊中(可能在上層調(diào)用函數(shù)中)從里向外尋找含有與其匹配的catch子句的try塊。
(視頻教程推薦:java視頻教程)
舉例:
手動(dòng)拋出異常
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(); // 手動(dòng)拋出受查異常 throw new Exception(); //System.out.println("m1----------end"); } public static void m2() { System.out.println("m2----------start"); // 手動(dòng)拋出運(yùn)行時(shí)異常,需要攜帶信息“程序因?yàn)楫惓6K止” throw new RuntimeException("程序因?yàn)楫惓6K止"); //System.out.println("m2----------end"); } } 程序運(yùn)行結(jié)果為: m1----------start m2----------start Exception in thread "main" java.lang.RuntimeException: 程序因?yàn)楫惓6K止 at prac.t2.m2(t2.java:31) at prac.t2.m1(t2.java:21) at prac.t2.main(t2.java:16)