1. 程式人生 > >小白鬍說:java 異常處理

小白鬍說:java 異常處理

       當小白第一次接觸到Java的異常處理額時候,首先映入我眼簾是就是throwable這個單詞。那這個單詞是什麼意思呢?

Throwable:所有已實現的介面。 Throwable 類是 Java 語言中所有錯誤或異常的超類。只有當物件是此類(或其子類之一)的例項時,才能通過 Java 虛擬機器或者 Java throw 語句丟擲。類似地,只有此類或其子類之一才可以是 catch 子句中的引數型別。     在往下一看,兩個框,分別寫的是Error和Exception .即它的直接子類。

Error(錯誤):程式在執行的時候,遇到錯誤,直接終止程式。

Exception(異常):異常大致又分為兩類,分別是 受檢異常和非受檢異常。他們的關係圖如下:

下面,小白來胡說一下異常處理機制。

1、一旦產生異常,則系統會自動產生一個異常例項化物件

2、此時如果存在try語句,則會自動找到匹配的catch語句執行,如果沒有異常處理,則程式將會退出,系統報告異常在控制檯

3、所有異常根據catch方法引數進行匹配異常的例項化物件,如果匹配成功,則由匹配成功的catch語句進行處理。

異常處理的關鍵字,目前小白接觸到的就兩種,不知道是不是所有的,高能見了不要見笑:-D。

第一中格式如此:

try{

//可能出現的異常程式碼部分

}catch{

//執行異常操作

}catch{

//執行異常操作

}...

finally{

//處理完try與catch操作後的收尾操作,異常統一出口

//在異常處理後,在異常處理格式中還有一個finally語句name此語句將作為異常的統一出口,不管是否產生異常,最終都要執行此段程式碼。

}

第二中:

throw與throws

Throws關鍵字主要在方法的宣告上使用,表示方法中不處理異常,移交給呼叫處處理,預設有jvm進行異常的處理操作

Throw關鍵字表示在程式中手動丟擲一個異常,因此從異常異常處理機制看,所有的異常一旦產生後,實際上丟擲的就是一個異常的例項化物件,name此物件也可以有throw直接丟擲。

異常處理規則:

1.try語句不能單獨存在,可以和catchfinally組成的try…catchtry…catch…finally

try…finally三種結構,catch語句可以有一個或者多個,但是trycatchfinally不能單獨存在

  2.trycatchfinally三個程式碼塊中的語句變數獨立存在,不能相互訪問

  3.多個catch語句,java虛擬機器會自動匹配其中一個異常或者異常子類,就執行這個catch塊中程式碼,並且不會再執行其他catch塊中的程式碼.


相關推薦

java 異常處理

       當小白第一次接觸到Java的異常處理額時候,首先映入我眼簾是就是throwable這個單詞。那這個單詞是什麼意思呢? Throwable:所有已實現的介面。 Throwable 類是 Java 語言中所有錯誤或異常的超類。只有當物件是此類(或其子類之一)的例項

每日一題Java異常處理

增加 異常處理 int throwable 邏輯 現實 inter throws 運行時 什麽是異常 在理想情況下,程序總會運行在很完美的環境中,網絡不會終端,文件一定存在,程序不會有 BUG。但是,理想很豐滿,現實很骨幹,實際生產環境中,網絡可能會中斷,文件可能會找不到,

java基礎學習總結(十三)Java異常處理

一、JAVA異常       異常是指不期而至的各種情況,如:檔案找不到、網路連線失敗、非法引數等。異常是一個事件,它發生在程式執行期間,干擾了正常的指令流程。Java通過API中的Throwable類的眾多子類描述各種不同的異常。因而,Java異常都是物件,是Th

Java-RunoobJava 異常處理

store color cau api oob -m 產生 lena 都是 ylbtech-Java-Runoob:Java 異常處理 1.返回頂部 1、 Java 異常處理 異常是程序中的一些錯誤,但並不

學 Python(19)基礎異常處理

人生苦短,我選Python 前文傳送門 小白學 Python(1):開篇 小白學 Python(2):基礎資料型別(上) 小白學 Python(3):基礎資料型別(下) 小白學 Python(4):變數基礎操作 小白學 Python(5):基礎運算子(上) 小白學 Python(6):基礎運算子(下)

寫給java學習之路--異常

2-0異常體系結構:       2-1:定義: 程式在執行期間發生的不正常的情況稱之為異常。 2-2:jvm解決異常的方式:   

看的Java教程】第十五章,更聰明的寫程式碼方法

之前講解的迴圈操作,可以解決的是程式碼重複的問題,但是此時的重複的程式碼必須是有規律的。那迴圈操作,能解決所有的程式碼重複嗎?答案肯定是不行的,比如針對於某一種功能的重複操作,迴圈解決不了,終於方法就該登場了。舉個例子。 編寫一個飛機大戰遊戲,程式在執行過程中

看的Java教程】第十八章,有條不紊

列印陣列元素(掌握) API中還有一個專門運算元組的工具類Arrays,該類提供了對陣列元素的拷貝、元素搜尋、元素排序、列印等功能方法,且該類為不同資料型別的陣列都過載了相同功能的方法。 需求:通過呼叫Arrays類中的toString方法完成列印陣列元素的

【給看的Java教程】第二十三章,生命的遺傳繼承

繼承思想 需求,使用面向物件的知識定義出老師(Teacher)、學生(Student)、員工(Employee)三個類: + 老師:擁有名字、年齡、級別三個狀態,有授課和休息兩個功能 + 學生:擁有名字、年齡、學好三個狀態,有學習和休息兩個功能 + 員工:擁有名

【給看的Java教程】第二十六章,可勝列舉列舉

###列舉的誕生歷史(瞭解) 在服裝行業,衣服的分類根據性別可以表示為三種情況:男裝、女裝、中性服裝。 private ? type; public void setType(? type){ this.type = type } 需求:定義一個變數來表

看的Java教程】第三十七章,Mr.R和Mr.WJava中的IO【薦】

File類(掌握) File課理解為檔案和資料夾(目錄),用於表示磁碟中某個檔案或資料夾的路徑。該類包含了檔案的建立、刪除、重新命名、判斷是否存在等方法。 只能設定和獲取檔案本身的資訊(檔案大小,是否可讀),不能設定和獲取檔案裡面的內容。 Unix: 嚴

Java異常處理

異常處理: 一:異常: 程式在執行過程中出現的不正常的現象 二:分類: 異常和錯誤的區別:宜昌市程式設計師能夠處理的情況,而錯誤一般是硬體,執行環境設計等原因導致的,程式設計師不能去處理的情況 執行時異常和編譯時異常的區別:一般來說,執行時異常為語義錯誤,而

Java程式設計思想 第十二章通過異常處理錯誤

發現錯誤的理想時機是在編譯階段,也就是程式在編碼過程中發現錯誤,然而一些業務邏輯錯誤,編譯器並不能一定會找到錯誤,餘下的問題需要在程式執行期間解決,這就需要發生錯誤的地方能夠準確的將錯誤資訊傳遞給某個接收者,以便接收者知道如何正確的處理這個錯誤資訊。 改進錯誤的機制在Java中尤為重要,

Java基礎深入理解java異常處理機制的原理和開發應用【轉載】

Java異常處理機制在日常開發中應用頻繁,本篇文章主要在基礎的使用方法上,更進一步的,如何更加合理的使用異常機制,希望可以對各位朋友能有所幫助。   Java異常處理機制其最主要的幾個關鍵字:try、catch、finally、throw、throws,以及各種各樣

java異常處理finally中不要return

參考牛人部落格:http://www.cnblogs.com/Fskjb/archive/2012/02/15/2353256.html public class Ex1 {     public static void main(String[] args) {   

Java異常處理給程式罩一層保險

文/沉默王二 人這一生,總會遇到一些不可預料的麻煩,這些麻煩可能會讓我們遭受沉重的打擊。為了減輕因此承受的負擔,我們就會買保險。 本著負責任的態度,我們程式設計師在寫程式碼的時候,都非常的嚴謹。但程式在執行的時候,往往會出現一些令人意想不到的錯誤,導致那些不被期望的事件發生,最終,程式沒有按照我們的預

java異常處理OOM(記憶體溢位異常

什麼是OOM? OOM,全稱“Out Of Memory”,翻譯成中文就是“記憶體用完了”,來源於java.lang.OutOfMemoryError。看下關於的官方說明: Thrown when the Java Virtual Machine cannot allocat

Java異常處理給程序罩一層保險

代碼段 虛擬 err 過多 run on() 如果 提示 ted 人這一生,總會遇到一些不可預料的麻煩,這些麻煩可能會讓我們遭受沈重的打擊。為了減輕因此承受的負擔,我們就會買保險。 本著負責任的態度,我們程序員在寫代碼的時候,都非常的嚴謹。但程序在運行的時候,往往會出現一些

Java入門聊聊Java這門程式語言

一、什麼叫做程式設計 首先我們應該瞭解一下什麼叫做程式設計。 百度百科詞條的解釋: 程式設計是編定程式的簡稱,是讓計算機代我們解決某個問題,是對某個計算體系規定一定的運算方式,使計算體系按照該計算方式執行,並最終得到相應結果的過程。 對於該解釋,大家也包括我自己可能並不是很理解,那我們反正就這麼理解,一般

C++筆記(8)C++異常處理

交互 under nbsp divide 析構函數 nat 花括號 ++ fff                     異常處理   C++異常處理機制是一個用來有效地處理運行錯誤的非常強大且靈活的工具,它提供了更多的彈性、安全性和穩固性,克服了傳統方法所帶來的問題.