<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 1.8 異常控制:解決錯誤 從最古老的程序設計語言開始,錯誤控制一直都是設計者們需要解決的一個大問題。由于很難設計出一套完美的錯誤控制方案,許多語言干脆將問題簡單地忽略掉,將其轉嫁給庫設計人員。對大多數錯誤控制方案來說,最主要的一個問題是它們嚴重依賴程序員的警覺性,而不是依賴語言本身的強制標準。如果程序員不夠警惕——若比較匆忙,這幾乎是肯定會發生的——程序所依賴的錯誤控制方案便會失效。 “異常控制”將錯誤控制方案內置到程序設計語言中,有時甚至內建到操作系統內。這里的“異常”(`Exception`)屬于一個特殊的對象,它會從產生錯誤的地方“扔”或“拋”出來。隨后,這個異常會被設計用于控制特定類型錯誤的“異常控制器”捕獲。在情況變得不對勁的時候,可能有幾個異常控制器并行捕獲對應的異常對象。由于采用的是獨立的執行路徑,所以不會干擾我們的常規執行代碼。這樣便使代碼的編寫變得更加簡單,因為不必經常性強制檢查代碼。除此以外,“拋”出的一個異常不同于從函數返回的錯誤值,也不同于由函數設置的一個標志。那些錯誤值或標志的作用是指示一個錯誤狀態,是可以忽略的。但異常不能被忽略,所以肯定能在某個地方得到處置。最后,利用異常能夠可靠地從一個糟糕的環境中恢復。此時一般不需要退出,我們可以采取某些處理,恢復程序的正常執行。顯然,這樣編制出來的程序顯得更加可靠。 Java的異常控制機制與大多數程序設計語言都有所不同。因為在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>

                              哎呀哎呀视频在线观看