亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

throwable類有什么用

發布時間:2021-09-22 17:43:05 來源:億速云 閱讀:170 作者:小新 欄目:開發技術

小編給大家分享一下throwable類有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

  publicclassThrowableextendsObjectimplementsjava.io.SerializableThrowable類是Java語言中所有錯誤或異常的超類。只有當對象是此類(或其子類之一)的實例時,才能通過Java虛擬機或者Javathrow語句拋出。類似地,只有此類或其子類之一才可以是catch子句中的參數類型。 

  throwable子類

  兩個子類的實例,Error和Exception,通常用于指示發生了異常情況。通常,這些實例是在異常情況的上下文中新近創建的,因此包含了相關的信息(比如堆棧跟蹤數據)。 

  Throwable包含了其線程創建時線程執行堆棧的快照。它還包含了給出有關錯誤更多信息的消息字符串。最后,它還可以包含cause(原因):另一個導致此throwable拋出的throwable。此cause設施在1.4版本中首次出現。它也稱為異常鏈設施,因為cause自身也會有cause,依此類推,就形成了異常鏈,每個異常都是由另一個異常引起的。 

  throwable性質

  導致throwable可能具有cause的一個原因是,拋出它的類構建在低層抽象的基礎上,從而高層操作由于低層操作的失敗而失敗。因此讓低層拋出的throwable向外傳播并非一種好的設計方法,因為它通常與高層提供的抽象不相關。此外,這樣做會將高層API與其實現細節關聯起來,并認為低層異常是經過檢查的異常。拋出“經過包裝的異常”(即包含cause的異常)允許高層與其調用方交流失敗詳細信息,而不會招致上述任何一個缺點。這種方式保留了改變高層實現而不改變其API的靈活性(尤其是,異常集合通過其方法拋出)。 

  導致throwable可能具有cause的另一個原因是,拋出它的方法必須符合不允許方法直接拋出cause的通用接口。例如,假定持久集合符合Collection接口,而其持久性在java.io的基礎上實現。假定put方法的內部可以拋出IOException。實現可以與其調用方交流IOException的詳細消息,同時通過以一種合適的未檢查的異常來包裝IOException,使其符合Collection接口。(持久集合的規范應該指示它能夠拋出這種異常。) 

  Cause可以通過兩種方式與throwable關聯起來:通過一個將cause看作參數的構造方法;或者通過initCause(Throwable)方法。對于那些希望將cause與其關聯起來的新throwable類,應該提供帶有cause的構造方法,并委托(可能間接)給一個帶有cause的Throwable構造方法。

以上是“throwable類有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汕头市| 东港市| 贵阳市| 政和县| 洞头县| 金秀| 新津县| 开化县| 军事| 惠来县| 大连市| 昭平县| 栾城县| 沾化县| 木里| 九台市| 泌阳县| 米泉市| 玉环县| 遵义县| 昆明市| 柞水县| 平谷区| 苗栗县| 金平| 铜川市| 临洮县| 堆龙德庆县| 安庆市| 高邮市| 博客| 澄城县| 南平市| 东山县| 车险| 贵德县| 贵州省| 龙井市| 乌海市| 梁河县| 桦川县|