android和java中常见 Exception

戏子无情 提交于 2019-12-02 15:22:53

1, 常见的nullpointerexception,在调式程序中最常见是空指针异常了,这个是一般是对象实例化为null, 比如在组件的实例化和class对象实例化的时候, 声明 TextView mTestTV;  没有findViewById,或者 new对象为null。

2,IllegalArgumentException非法参数,很多方法参数的数据类型不一致或者返回的数据类型不一致的异常。

3,IndexOutOfBoundsException下标越界,这个一般是出现在数组和集合中,循环数组、集合的时候,需要判断是否为空,若为空会报空指针,上面1中提到的错误。若数组或者集合的个数小于遍历的大小则会下标越界。

4,ClassCastException:数据类型转换异常   如果前台应用程序缺乏相关的控制,如用户在输入日期的时候只输入月、日信息,而没有年份的信息。此时应用程序在进行数据类型转换的时候,就会出现异常。根据笔者的经验,数据类型转换异常在应用程序开发中使一个出现的比较多的异常,也是一个比较低级的异常。

5,NumberFormatException:字符串转换为数字类型时抛出的异常

6,SQLException:操作数据库异常类,android中的sqlite创建数据库字段需要id 字段之间需要逗号隔开。

7,IllegalStateException非法状态

8,ClassNotFoundException 指定class找不到,这个在android中也是很常见的,需要在eclipse项目工作空间中的路径和类引用。

9,ArithmeticException  这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常

10,IllegalAccessException      这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了Package的情况下要注意这个异常

11,StackOverflowError   堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误

12,OutOfMemoryError   内存不知时导致的异常,一般android中的listview加载图片,没有及时回收,加载过大图片,数据库没close,线程死循环。

android常见错误

15、工程名上有红色感叹号

解决方案:右键项目名称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

16、使用Intent时出现另一个活动未发现的异常(ActivityNotFoundException)

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

17、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>


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!