久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android JNI開(kāi)發(fā)摘錄(四)之JNI異常處理

 android之情殤 2013-11-29

     五.處理本機(jī)代碼中的異常

     為了處理以Java代碼實(shí)現(xiàn)的方法執(zhí)行中拋出的異常,或者是以本機(jī)代碼編寫(xiě)的方法拋出的Java異常,,JNI提供了Java異常機(jī)制的鉤子程序,。該機(jī)制與C/C++中常規(guī)函數(shù)實(shí)現(xiàn)的標(biāo)準(zhǔn)錯(cuò)誤處理無(wú)關(guān)。JNI提供一個(gè)函數(shù)集來(lái)在本機(jī)代碼中檢查,、分析和處理Java異常,。

    (1).如果一個(gè)異常已經(jīng)拋出,下面的函數(shù)返回JNI_TRUE,,否則返回JNI_FALSE:

 

復(fù)制代碼
jboolean ExceptionCheck();

/*如:當(dāng)異常發(fā)生時(shí),,清理并拋出自定義異常*/
if(env->ExceptionCheck())
{
env->ExceptionClear();//清除異常
env->ThrowNew(env->FindClass("java/lang/Exception"),"xx異常");
}
復(fù)制代碼

 

 

    (2).ExceptionOccurred函數(shù)獲取正在被拋出異常的一個(gè)本地引用。本機(jī)代碼或者Java代碼必須處理該異常:

jthrowable ExceptionOccurred();

 

    (3).ExceptionDescribe函數(shù)打印有關(guān)剛剛被拋出到標(biāo)準(zhǔn)錯(cuò)誤輸出中的異常信息,。該信息包括一個(gè)棧追蹤信息:

void ExceptionDescribe();

 

    (4).ExceptionClear函數(shù)清理一個(gè)剛剛拋出的異常:

void ExceptionClear();

 

    (5).Throw 函數(shù)拋出一個(gè)已經(jīng)創(chuàng)建的異常,。如果異常成功拋出,返回0,;否則返回一個(gè)負(fù)值:

復(fù)制代碼
jint Throw(jthrowable obj);

/*可以這樣使用:手動(dòng)拋出異常,,然后在本機(jī)或Java代碼中處理*/
jthrowable mException = NULL;
mException = env->ExceptionOccurred();
if (mException != NULL) {
env->Throw(mException);
/*或拋出自定義異常
env->ThrowNew(env->FindClass("java/lang/Exception"),
"xxx異常");
*/
//最后別忘了清除異常,不然還是會(huì)導(dǎo)致VM崩潰
env->ExceptionClear();
return -1;
}
復(fù)制代碼



    (6).ThrowNew函數(shù)基于clazz創(chuàng)建一個(gè)異常,,它應(yīng)該是繼承自Throwable,,并且異常文本是由msg(按照UTF-8)指定。如果異常的構(gòu)造以及拋出成功,,返回0,;否則返回一個(gè)負(fù)值。

jint ThrowNew(jclass clazz,const char *msg);

/*如:在可能出錯(cuò)的地方拋出自定義異常,然后在本機(jī)代碼或者Java代碼中處理*/
env->ThrowNew(env->FindClass("java/lang/Exception"),
"xxx異常");



 

     (7)FatalError函數(shù)會(huì)生成致命錯(cuò)誤信號(hào),。一個(gè)致命錯(cuò)誤是特指無(wú)法恢復(fù)的情況,。VM在調(diào)用該函數(shù)之后將會(huì)關(guān)閉:

void FatalError(const char *msg);



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多