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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                本文假設: * 你已經熟悉了JavaScript、Java、 Python、 C++ 或者類似的語言中異常的概念,而且你知道拋出異常和捕獲異常是什么意思。 * 你熟悉怎么用NodeJS編寫代碼。你使用異步操作的時候會很自在,并能用`callback(err,result)`模式去完成異步操作。你得知道下面的代碼不能正確處理異常的原因是什么[腳注1] ~~~ function myApiFunc(callback) { /* * This pattern does NOT work! */ try { doSomeAsynchronousOperation(function (err) { if (err) throw (err); /* continue as normal */ }); } catch (ex) { callback(ex); } } ~~~ 你還要熟悉三種傳遞錯誤的方式: - 作為異常拋出。 - 把錯誤傳給一個callback,這個函數正是為了處理異常和處理異步操作返回結果的。 - 在EventEmitter上觸發一個Error事件。 接下來我們會詳細討論這幾種方式。這篇文章不假設你知道任何關于domains的知識。 最后,你應該知道在JavaScript里,錯誤和異常是有區別的。錯誤是Error的一個實例。錯誤被創建并且直接傳遞給另一個函數或者被拋出。如果一個錯誤被拋出了那么它就變成了一個異常[腳注2]。舉個例子: ~~~ throw new Error('something bad happened'); ~~~ 但是使用一個錯誤而不拋出也是可以的 ~~~ callback(new Error('something bad happened')); ~~~ 這種用法更常見,因為在NodeJS里,大部分的錯誤都是異步的。實際上,`try/catch`唯一常用的是在`JSON.parse`和類似驗證用戶輸入的地方。接下來我們會看到,其實很少要捕獲一個異步函數里的異常。這一點和Java,C++,以及其它嚴重依賴異常的語言很不一樣。
                  <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>

                              哎呀哎呀视频在线观看