日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 异常处理 try catch finally throws throw 的使用和解读(一)

發布時間:2023/12/1 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 异常处理 try catch finally throws throw 的使用和解读(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近的一個內部表決系統開發過程中,
發現對異常處理還存在一些模棱兩可的地方,
所以想著整理一下
主要涉及到:
1.try catch finally throws throw 的使用和解讀
2.自定義異常的使用
3.常見的運行異常

/**
* Java 異常處理
* try catch finally throws throw
* @author Ma San
*
*/
public class ExceptionTest {


// 函數可能發生異常時 兩種處理辦法
// 1.try catch 捕獲并處理異常
// 2.throws 聲明異常
/**
* try catch 捕獲并處理異常
*/
public void function1(int index){
try {
// 以下代碼拋出異常,并且被捕獲
if(--index<0) throw new Exception("index out of 0");
} catch (Exception e) {
// catch 內處理異常
// TODO: handle exception
}
}

/**
* throws 聲明異常
* @throws Exception
*/
public void function2(int index) throws Exception{
// 以下代碼拋出異常
if(--index<0) throw new Exception("index out of 0");
}

// 比較 try catch 和 throws 的區別
// 前者會捕獲異常并處理,后者只是聲明會發生的異常,并不能捕獲也不能處理
// throws聲明異常,如果被拋出,最終也會被try catch 捕捉處理
// 如果程序中沒有try catch 那么 該線程被終止,如果是主線程則程序會被終止

// try catch finally throws throw 語法規則和比較

// 1.try catch :捕獲異常
// 2.finally : 任何情況下都會執行的代碼
// 3.throws: 聲明可能會發生的異常
// 4.throw: 拋出異常

//語法規則:
//(1):try代碼塊不能單獨存在,后邊至少有一個catch或者finally代碼塊
// 以下代碼會發生編譯錯誤
public static void main(String args[]) throws Exception{
try{
//代碼
}
}
//(2):try代碼快后邊可以沒有catch也可以有多個catch,可以沒有finally也可以有一個finally
// 其中,如果catch 和 finally要共存,則finally 必須出現在catch的后面

// (3): try 代碼塊和catch、finally代碼塊是不同的作用域
// 在try代碼塊聲明的變量 catch 和 finally不能訪問
try
{
// 在try代碼塊中聲明變量
int num = 0;

}
catch (Exception e)
{
num++; // 不合法,編譯錯誤
}finally{
num = 9; // 不合法,編譯錯誤
}

// 定義在try代碼塊外
int num = 0;
try
{

}
catch (Exception e)
{
num++; // 合法
}finally{
num = 9; // 合法
}

?

(4): try 后面包含多個catch的時候,JVM會一次和各個catch代碼塊聲明的異常類型匹配
如果異常對象為某個異常類型或者其子類實例就執行這個catch代碼塊,不再執行其他的。
例:
try
{
code;//假設可能拋出FileNotFoundException
}
catch (SQLException)
{
System.out.println("SQLException");
}
catch (IOException)
{
System.out.println("IOException");
}
catch (Exception)
{
System.out.println("Exception");
}
發生異常控制臺會輸出 “Exception”;

(5)throw 語句后面不允許緊跟其他語句,因為這些語句永遠不會被執行

}

轉載于:https://www.cnblogs.com/maxm/p/6632264.html

總結

以上是生活随笔為你收集整理的Java 异常处理 try catch finally throws throw 的使用和解读(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。