異常處理機制

來源:互聯網
上載者:User

標籤:意義   伺服器   儲存   size   情境   一個   不能   全域   轉換   

 

  面試注意點: 1.Exception=RuntimeException(運行時異常)+CheckedException(檢查異常)   CheckedException常見有IO異常和SQL異常         RuntimeException=NullPointerException、ArrayStoreException(資料存放區異常)、ClassCastException(類型轉換異常)、InexOutOfBoundException(數組越界異常)、BufferOverflowException(緩衝區溢位異常)、ArithmeticException(算數異常)、等2.異常不停的向上一層拋出直到遇見處理塊,多線程由Thread.run()拋出,單線程由main()拋出.拋出之後相應線程或進程退出3.(1)基類在上層,所以先捕獲子類後捕獲基類   (2)儘早拋出異常,能處理就處理不能再拋出,4.try/catch/finally的組合:(1)try/catch(2)try/finally(3)try/catch..catch/finally     a.try,finally只能一個,catch可以多個。     b.先執行try有異常則執行catch(多個catch相當於if else if)最後執行finally。無異常時先try然後finally     c.jdk1.7允許用管道寫多個catch:  catch(IOException|Exception e){}5.(1)Throwable:public class Throwable extends Object implements Serializable  (2)Exception:public class Exception extends Throwablea.(1)是所有異常的超類,(2)是所有異常的父類b.12都是公用類,因為1可以被序列化(Serializable)所以其子類Exception 也可以被序列化 6.捕獲一個線程拋出的異常的方法:用UncaughtExceptionHandler(異常捕獲處理方法)來捕獲線程拋出的異常.....7.throw和throws的區別:throws用在函數頭,表示出現異常的可能性但不一定會發生異常。
throw用在函數體,顯示的拋出一個異常,若被執行則一定拋出了該異常例:class test{    public void f(int i) throws MyException{    if(i=1)throw new MyException();    }}    序言 Android異常剖析意義:1、提前預見可能會報錯的程式碼片段;2、提高解決問題的效率。學習收穫:1、Android常見異常發生的情境;2、如何快速定位問題、以及怎麼分析、解決問題;3、實際開發中,如何做好常見異常的防範。  第一章Android常見異常的分類大致可以分為以下兩類:1、編譯時間錯誤(eg:ClassNotFoundException/layout中找不到ID等);安裝過程報錯2、運行時(Runtime)錯誤。(eg:數組越界/類型轉換異常等)運行過程報差  第二章常見異常舉例1.編譯期異常(例如找不到類):(1)找到caused by冒以後的部分(2)有代碼出錯的程式碼數,可以點擊定位查看*運行期異常(以數組越界為例):定位查看,定位前一句通常也有錯誤提示  第三章 異常解決方案

 

第四章具體案例分析   1.null 指標 NullPointerException:使用了一個沒有被執行個體化的指

 

  2.越界 ArrayIndexOutofBoundsException:

 

3.許可權不夠 SecurityException:許可權去AndroidManifest.xml裡設定

 

  第五章Android全域異常捕獲處理1. 全域錯誤 

 

  UncaughtExceptionHandler類有相應方法public class CrashHandler implements Thread. UncaughtExceptionHandler{private static CrashHandler mInstance;private crashHandler(){}//單例public static crashHandler getInstance(){if(mInstance==nul1){synchronized(CrashHandler. class){if(mInstance==null){mInstance=new CrashHandler();return mInstance;} public void uncaughtException(Thread t,Throwable e){//1,收集錯誤資訊;//2,儲存錯誤資訊;//3,上傳到伺服器}

異常處理機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.