JavaException 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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(原因)。
本頁部分內容為基於 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |