我們今天來談談java的異常處理機制
首先 我們需要回想一下 在C++中 C++的異常處理機制是怎麼回事的?我們可以通過例題來回答這個問題。
從這個簡單的例子中 我們可以 看出 對於C++而言 它的異常處理機制是這樣的
try{ //要檢測的可能會出現錯誤的語句塊
......................;
throw ...............//要拋出的異常類型
}
catch() //要捕獲的異常類型
{
..........................;//處理語句
}
對於C++而言 異常機制是在try塊裏進行檢查,在catch塊裏進行處理。同時需要注意的是throw語句塊可以出現在任何地方(通常我們一般都在try塊中拋出異常),同時需要指明拋出的異常類型,在catch塊中要指定異常類型,C++才能成功的捕獲以及處理異常,對於C++而言,異常類型可以是基本數據類型,也可以是對象,總之,都可以作爲拋出類型。
C++的異常機制就回想在這兒,如果需要深入瞭解C++的異常機制,請看C++ Prime Plus(第六版)
說完了 C++ 我們再來說說Java 當初我認爲語言都是相通的 那麼異常處理機制也會是一樣的,現在想來,我當時還是太天真了,在JAVA 看來,一切錯誤都是對象,一切異常都是對象,那麼既然是對象,就會有類,沒錯,就是有類,那麼在java中,負責處理異常的類是什麼呢?答案是Exception類,在java的錯誤對象中,繼承自java.lang.Throwable,有兩個子類,java.lang.Error (這個通常是系統所有),java.lang.Exception(這個通常是用戶所有)
所以在我們看來,如果我們覺得程序會出現的錯誤,系統可以自動檢測以及自動處理的,可以用Error;類,但是我們一般都是在程序中使用自定義的異常類型,那麼就需要用到Exception類。
對於JAVA 而言,具體的實現可以查看下以下的代碼片段。
在java語言中 我們需要定義一個異常類 來繼承這個Exception ,然後在這個類中填寫處理的語句塊,然後在相應的try塊以及catch塊所對應的函數 後面去聲明這個異常數據類型。用throws 來聲明一個 異常,然後在相應的try塊中進行檢測,catch塊進行捕獲,throw來拋出這個異常,這個就是大概的java異常處理機制.
如果需要更加深入的瞭解這個JAVA 的異常處理機制,那麼請你去看看瘋狂java講義(李剛)(第二版)
那麼現在的博客到此爲止,若有什麼問題,歡迎各位提出,也歡迎各位拍磚。謝謝!!!!!