語言

JavaException 類別

定義

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

[Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)]
public class JavaException : Exception, IDisposable, Java.Interop.IJavaPeerable
[<Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)>]
type JavaException = class
    inherit Exception
    interface IJavaPeerable
    interface IDisposable
繼承
JavaException
衍生
屬性
實作

備註

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。 只有屬於此類別(或其子類別)的物件才會由 Java 虛擬機拋出,或可由 Java throw 陳述式拋出。 同樣地,只有這個類別或其其中一個子類別能成為捕捉子句的參數型別。 為了編譯時的異常檢查,Throwable 及其任何非 RuntimeException 或 Error 子類別的 Throwable 子類別,皆視為已檢查異常。 兩個子類別 Error 和 Exception 的實例通常用來表示發生了特殊情況。 通常,這些實例會在例外情境中新建立,以包含相關資訊(如堆疊追蹤資料)。 投擲檔包含其執行緒在建立時執行堆疊的快照。 它也可以包含訊息字串,提供更多關於錯誤的資訊。 隨著時間推移,一個投擲物可以抑制其他投擲物的傳播。 最後,投擲物也可以包含一個原因:另一個投擲物導致該投擲物被建構。 記錄這些因果資訊稱為連鎖例外設施,因為原因本身可能有原因,依此類推,導致一連串由另一個例外引起。 拋擲物可能有原因的原因之一是,拋出它的類別是建立在較低層抽象之上,而上層的操作因下層的失敗而失敗。 讓下層投擲物向外傳播會是不良設計,因為這通常與上層所提供的抽象無關。 此外,這樣做會將上層的 API 綁定在其實作細節上,假設下層的例外是已檢查的例外。 拋出「包裹異常」(即包含原因的例外)讓上層能將故障細節傳達給呼叫者,而不會導致上述任何一項缺陷。 它保留了在不改變其 API(特別是其方法拋出的異常集合)的情況下,變更上層實作的彈性。 拋出物可能有原因的第二個原因是拋出它的方法必須符合通用介面,無法直接拋出原因。 例如,假設一個持久集合符合集合介面,且其持久化是在 java.io 之上實作。 假設加法方法的內部結構可以拋出 IOException。 實作可透過適當且未勾選的例外包覆 IOException ,同時符合 Collection 介面,將 IOException 的詳細資訊傳達給呼叫者。 (持久集合的規範應說明其能拋出此類例外。)原因可以透過兩種方式與拋擲物關聯:透過將原因視為參數的建構子,或透過 initCause(Throwable) 方法。 希望允許因果關聯的新投擲類別,應提供能接受因果並(或許間接)委派給取因果的可投擲建構者。 由於 initCause 方法是公開的,它允許將原因與任何可拋棄物關聯,即使是「舊有投擲物」,其實作早於 Throwable 加入例外鏈機制。 依慣例,Throwable 類別及其子類別有兩個建構子,一個不接受參數,另一個則使用可用於產生詳細訊息的 String 參數。 此外,那些可能有原因相關的子類別應該再有兩個建構子,一個接受 Throwable(原因),一個接收 String(細節訊息)和 Throwable(原因)。

Java 參考 java.lang.Throwable

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
JavaException()

構建一個以 null 作為詳細訊息的新投擲物。

JavaException(JniObjectReference, JniObjectReferenceOptions, JniObjectReference)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

JavaException(JniObjectReference, JniObjectReferenceOptions)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

JavaException(String, Exception)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

JavaException(String)

建立一個包含指定細節訊息的新投擲物。

欄位

名稱 Description
InvalidJniObjectReference

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

屬性

名稱 Description
JavaStackTrace

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

JniIdentityHashCode

無論該物件的類別是否覆蓋 hashCode(),都會回傳與預設方法 hashCode() 相同的雜湊碼。

JniManagedPeerState

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

JniPeerMembers

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

PeerReference

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

StackTrace

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

方法

名稱 Description
Construct(JniObjectReference, JniObjectReferenceOptions)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

Dispose()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

Dispose(Boolean)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

DisposeUnlessReferenced()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

Equals(Object)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

Finalize()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

GetHashCode()

回傳物件的雜湊碼值。

SetJavaStackTrace(JniObjectReference)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

UnregisterFromRuntime()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

IJavaPeerable.Finalized()

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

IJavaPeerable.JniObjectReferenceControlBlock

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

IJavaPeerable.SetJniIdentityHashCode(Int32)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

IJavaPeerable.SetPeerReference(JniObjectReference)

Throwable 類別是 Java 語言中所有錯誤與異常的超類別。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於