<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                JNI中也有異常,不過它和C++、Java的異常不太一樣。當調用JNIEnv的某些函數出錯后,會產生一個異常,但這個異常不會中斷本地函數的執行,直到從JNI層返回到Java層后,虛擬機才會拋出這個異常。雖然在JNI層中產生的異常不會中斷本地函數的運行,但一旦產生異常后,就只能做一些資源清理工作了(例如釋放全局引用,或者ReleaseStringChars)。如果這時調用除上面所說函數之外的其他JNIEnv函數,則會導致程序死掉。 來看一個和異常處理有關的例子,代碼如下所示: **android_media_MediaScanner.cpp::MyMediaScannerClient的scanFile函數** ~~~ virtualbool scanFile(const char* path, long long lastModified, long long fileSize) { jstring pathStr; //NewStringUTF調用失敗后,直接返回,不能再干別的事情了。 if((pathStr = mEnv->NewStringUTF(path)) == NULL) return false; ...... } ~~~ JNI層函數可以在代碼中截獲和修改這些異常,JNIEnv提供了三個函數進行幫助: - ExceptionOccured函數,用來判斷是否發生異常。 - ExceptionClear函數,用來清理當前JNI層中發生的異常。 - ThrowNew函數,用來向Java層拋出異常。 異常處理是JNI層代碼必須關注的事情,讀者在編寫代碼時務小心對待。
                  <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>

                              哎呀哎呀视频在线观看