您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java throw語句異常怎么處理”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java throw語句異常怎么處理”吧!
所有的方法都使用“throw”語句來拋出一個異常。Throw語句需要一個單獨throwable對象,這個對象是任意Throwable類的子類。如下類所示:
throw someThrowableObject;
讓我們在程序的上下文中來看一下throw語句。下面的pop方法把來自于一個公共堆棧中的一個執行類給刪除。這個方法從堆棧上面的元素,并且返回被刪除的對象。
public Object pop() throws EmptyStackException {
Object obj;
if (size == 0) {
throw new EmptyStackException();
}
obj = objectAt(SIZE - 1);
setObjectAt(SIZE - 1, null);
size--;
return obj;
}
pop方法檢查堆棧上是否有元素。如果堆棧是空的(也就是說它的尺寸等于0),pop方法就會實例化一個新的EmptyStackException對象(它是java.util中的一個成員),并且拋出它。在這章的后面一節會解釋怎樣創建自己的異常類。對于現在,你所需要記住的是你只能拋出繼承于java.lang.Throwable類的對象。
注意,pop方法的聲明中包含了一個throws子句。EmptyStackException是一個檢查性異常,并且pop方法沒有捕捉這個異常。因此,這個方法必須使用throws子名來聲明它所拋出的異常的類型。
Throwable 類和它的子類
繼承Throwable類的對象包括直接子類(直接繼承于Throwable類的對象)和間接子類(繼承于Throwable類的子類的對象)。下圖說明了Throwable類的層次關系和最主要的一些子類。象你看到的一樣,Throws有兩個直接的子類:Error類和Exception類。
Error類
當在Java虛擬機中發生動態連接失敗或其它的定位失敗的時候,Java虛擬機拋出一個Error對象。典型的簡易程序不捕獲或拋出Errors對象。
Exception類
大多數程序都拋出或捕獲衍生于Exception類的對象。一個異常表明發生了一個問題,但它不是嚴重的系統問題。你編定的大多數程序將會拋出或捕獲Exceptions對象(而不是Errors對象)。
在Java平臺中Exception類有許多已經定義了的子類。這些子類說明所發生的異常的各種類型。例如,IllegalAccessException異常類說明了不能找到一個特殊的方法;NegativeArraySizeException異常類說明程序試圖創建一個帶有負尺寸的數組。
有一個特殊的Exception子類:RuntimeException。這個子類是在程序運行期間在Java虛擬機內部所發生的異常。例如NullPointerException類就是一個運行時異常類,在一個方法試圖通過一個null引用來訪問一個對象的成員時會發生這個異常。在Unchecked Exceptions---The Controversy這一節中,我們會討論為什么典型的程序不應該拋出運行時異常或RuntimException類的子類異常對象。
感謝各位的閱讀,以上就是“Java throw語句異常怎么處理”的內容了,經過本文的學習后,相信大家對Java throw語句異常怎么處理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。