android和java中常見 Exception

1, 常見的nullpointerexception,在調式程序中最多見是空指針異常了,這個是通常是對象實例化爲null, 好比在組件的實例化和class對象實例化的時候, 聲明 TextView mTestTV;  沒有findViewById,或者 new對象爲null。android

2,IllegalArgumentException非法參數,不少方法參數的數據類型不一致或者返回的數據類型不一致的異常。web

3,IndexOutOfBoundsException下標越界,這個通常是出如今數組和集合中,循環數組、集合的時候,須要判斷是否爲空,若爲空會報空指針,上面1中提到的錯誤。若數組或者集合的個數小於遍歷的大小則會下標越界。sql

4,ClassCastException:數據類型轉換異常   若是前臺應用程序缺少相關的控制,如用戶在輸入日期的時候只輸入月、日信息,而沒有年份的信息。此時應用程序在進行數據類型轉換的時候,就會出現異常。根據筆者的經驗,數據類型轉換異常在應用程序開發中使一個出現的比較多的異常,也是一個比較低級的異常。數據庫

5,NumberFormatException:字符串轉換爲數字類型時拋出的異常數組

6,SQLException:操做數據庫異常類,android中的sqlite建立數據庫字段須要id 字段之間須要逗號隔開。app

7,IllegalStateException非法狀態eclipse

8,ClassNotFoundException 指定class找不到,這個在android中也是很常見的,須要在eclipse項目工做空間中的路徑和類引用。ide

9,ArithmeticException  這個異常的解釋是"數學運算異常",好比程序中出現了除以零這樣的運算就會出這樣的異常ui

10,IllegalAccessException      這個異常的解釋是"沒有訪問權限",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問權限便會出現這個異常。對程序中用了Package的狀況下要注意這個異常spa

11,StackOverflowError   堆棧溢出錯誤。當一個應用遞歸調用的層次太深而致使堆棧溢出時拋出該錯誤

12,OutOfMemoryError   內存不知時致使的異常,通常android中的listview加載圖片,沒有及時回收,加載過大圖片,數據庫沒close,線程死循環。

android常見錯誤

1五、工程名上有紅色感嘆號

解決方案:右鍵項目名稱BuildPath--->ConfigureBuildPaht...中,而後上面有幾個選項卡找到Libraries中出現紅色叉號的包爲路徑錯誤的包。到classpath中修改相應包的當前路徑。而後回到eclipseF5刷新工程。

問題緣由:工程中classpath中指向的包路徑錯誤。

解釋:用myeclipse新建web工程,在工程目錄下會生成一個.classpath配置文件,裏面是你工程裏面引用的jar的配置。這個.classpath對你的web工程沒有什麼影響,實際上是給myeclipse識別的。你說的這種狀況是由於.classpath文件裏面配置引用了某個jar,可是實際上你的lib裏面並無這個jar因此纔會有紅色的提示。你不用拿.classpath文件和你的jar一個個去找,你如今打開MyEclipse右鍵單擊你的web工程,找到BuildPath-->ConfigureBuildPaht...-->而後上面有幾個選項卡找到Libraries。這裏看到的就是你工程裏面引用的全部的jar,看看是否是在某個jar圖標上有個很小的黃色的感嘆號?若是有的話就沒錯了,先選中這個jar,點擊右邊的Remove-->點擊OK等待幾秒,如今web工程上面的紅色XX是否是沒有了,哈哈。解釋一下:黃色的感嘆號的jar,表示.classpath配置文件引用了jar,可是實際上lib裏面沒有這個jar

1六、使用Intent時出現另外一個活動未發現的異常(ActivityNotFoundException)

解決方案:在AndroidManifest.xml中再加一個<activity android:name=".Filelist" android:label="@string/app_name" />

1七、Fail to connect to camera service

AndroidManifest.xml中添加<uses-permission android:name="android.permission.CAMERA" />

若是仍是不行

@Override

        public void surfaceDestroyed(SurfaceHolder holder) {

                // TODO Auto-generated method stub

                mCamera.stopPreview();

               mCamera.release();//加上這句,就OK

                mCamera=null;

               

        }

com.android.dex.util.ExceptionWithContext  在打包的時候報錯  後來看了一下是這個類裏面的內部類加了private  去掉就行了


若是用到了多語言  string-en.xml文件找不到 String文件的的id的時候 就須要忽略一些文件 在文件外部添加 lint.xml

裏面的內容是:

<?xml version="1.0" encoding="utf-8"?>
<lint>
    <issue id="CutPasteId" severity="ignore" />
    <issue id="MissingTranslation" severity="ignore"/>
    <issue id="ExtraTranslation" severity="ignore"/>
</lint>
相關文章
相關標籤/搜索