<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### [特例:RuntimeException](https://lingcoder.gitee.io/onjava8/#/book/15-Exceptions?id=%e7%89%b9%e4%be%8b%ef%bc%9aruntimeexception) 在本章的第一個例子中: ~~~ if(t == null) throw new NullPointerException(); ~~~ 如果必須對傳遞給方法的每個引用都檢查其是否為 null(因為無法確定調用者是否傳入了非法引用),這聽起來著實嚇人。幸運的是,這不必由你親自來做,它屬于 Java 的標準運行時檢測的一部分。如果對 null 引用進行調用,Java 會自動拋出 NullPointerException 異常,所以上述代碼是多余的,盡管你也許想要執行其他的檢查以確保 NullPointerException 不會出現。 屬于運行時異常的類型有很多,它們被 java 自動拋出,所以不必在異常說明中把它們列出來。非常方便的是,通過將這些異常設置為`RuntimeException`的子類而把它們歸類起來,這是繼承的一個絕佳例子:建立具有相同特征和行為的一組類型。 RuntimeException 代表的是編程錯誤: 1. 無法預料的錯誤。比如從你控制范圍之外傳遞進來的 null 引用。 2. 作為程序員,應該在代碼中進行檢查的錯誤。(比如對于 ArrayIndexOutOfBoundsException,就得注意一下數組的大小了。)在一個地方發生的異常,常常會在另一個地方導致錯誤。 在這些情況下使用異常很有好處,它們能給調試帶來便利。 如果不捕獲這種類型的異常會發生什么事呢?因為編譯器沒有在這個問題上對異常說明進行強制檢查,RuntimeException 類型的異常也許會穿越所有的執行路徑直達 main() 方法,而不會被捕獲。要明白到底發生了什么,可以試試下面的例子: ~~~ // exceptions/NeverCaught.java // Ignoring RuntimeExceptions // {ThrowsException} public class NeverCaught { static void f() { throw new RuntimeException("From f()"); } static void g() { f(); } public static void main(String[] args) { g(); } } ~~~ 輸出結果為: ~~~ ___[ Error Output ]___ Exception in thread "main" java.lang.RuntimeException: From f() at NeverCaught.f(NeverCaught.java:7) at NeverCaught.g(NeverCaught.java:10) at NeverCaught.main(NeverCaught.java:13) ~~~ 如果 RuntimeException 沒有被捕獲而直達 main(),那么在程序退出前將調用異常的 printStackTrace() 方法。 你會發現,RuntimeException(或任何從它繼承的異常)是一個特例。對于這種異常類型,編譯器不需要異常說明,其輸出被報告給了 System.err。 請務必記住:代碼中只有 RuntimeException(及其子類)類型的異常可以被忽略,因為編譯器強制要求處理所有受檢查類型的異常。 值得注意的是:不應把 Java 的異常處理機制當成是單一用途的工具。是的,它被設計用來處理一些煩人的運行時錯誤,這些錯誤往往是由代碼控制能力之外的因素導致的;然而,它對于發現某些編譯器無法檢測到的編程錯誤,也是非常重要的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看