第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在Android上使用全局異常處理

在Android上使用全局異常處理

慕田峪9158850 2019-11-28 09:59:43
是否有代碼示例,或有關(guān)如何使用該Thread.setDefaultUncaughtExceptionHandler方法的教程?基本上,無(wú)論何時(shí)拋出異常,我都試圖在應(yīng)用程序中顯示自定義警報(bào)對(duì)話框。是否有可能做到這一點(diǎn)?我知道,如果在UI線程中引發(fā)了異常,則在屏幕上顯示某些內(nèi)容會(huì)有些棘手,但是我不知道有任何解決方法。
查看完整描述

3 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

帶有解決方案來(lái)到此頁(yè)面的人的基本示例:)


public class ChildActivity extends BaseActivity {

    @SuppressWarnings("unused")

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        int a=1/0;

    }

}

處理錯(cuò)誤的類:


public class BaseActivity extends Activity{

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

            @Override

            public void uncaughtException(Thread paramThread, Throwable paramThrowable) {

                Log.e("Alert","Lets See if it Works !!!");

            }

        });

    }

}


查看完整回答
反對(duì) 回復(fù) 2019-11-28
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

這里的一個(gè)變種,答案由莫特·沙瑪有以下改進(jìn):


錯(cuò)誤處理后不會(huì)導(dǎo)致應(yīng)用/服務(wù)凍結(jié)

讓Android在您自己完成之后進(jìn)行正常的錯(cuò)誤處理

碼:


public class BaseActivity extends Activity {

    @Override

    public void onCreate() {

        super.onCreate();


        final Thread.UncaughtExceptionHandler oldHandler =

            Thread.getDefaultUncaughtExceptionHandler();


        Thread.setDefaultUncaughtExceptionHandler(

            new Thread.UncaughtExceptionHandler() {

                @Override

                public void uncaughtException(

                    Thread paramThread,

                    Throwable paramThrowable

                ) {

                    //Do your own error handling here


                    if (oldHandler != null)

                        oldHandler.uncaughtException(

                            paramThread,

                            paramThrowable

                        ); //Delegates to Android's error handling

                    else

                        System.exit(2); //Prevents the service/app from freezing

                }

            });

    }

}


查看完整回答
反對(duì) 回復(fù) 2019-11-28
  • 3 回答
  • 0 關(guān)注
  • 536 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)