脚本宝典收集整理的这篇文章主要介绍了Android自定义抛出异常的方法详解,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
前言
在android开发过程中,我们经常遇到异常的问题,崩溃抛出异常的时候,是非常令人烦闷的。但是异常有一个好处,使得app能在编译的时候给我们提供一些bug信息,有时可能比较模糊,有时可能很精准,甚至提示报错行。基于这一点,今天我们就来讲讲andROId中的异常吧。
今天要讲的内容:
一. throw 和 throws
异常通常的处理方式有 throw/throws 以及 try-catch 两种。今天我们主要讲解throw/throws这一类的处理。
而 throws引起的异常,一般由调用此方法的方法去处理。
二. 异常类型
java开发异常大致分为三种:
这三个异常类都继承于他们的父类 Throwable,其中 Error 和 Exception是 Throwable 的两大子类。Error 一般是系统错误,我们不予讨论,一般我们程序出现bug都是属于Exception类,RuntimeException 是 Exception的一个子类。今天我要介绍的就是 RuntimeException 的几个常见子类。
2.1 java.lang.NullPointerException
空指针异常,一般是对象未创建或者不存在造成的。
2.2 ava.lang.ClassNotFoundException
类异常,一般是类不存在,排查的时候注意是不是类名称写错或者路径搞错了
2.3 java.lang.ArrayIndexOutOfBoundsException
2.4 java.lang.IllegalargumentException
方法参数错误
2.5 java.lang.IllegalAccessException
没有访问权限,一般是类的权限访问出问题了
2.6 ArIThmeticExecption
算术异常
2.7 ClassCastException
类型强转异常
2.8 NegativeArrayException
数组负下标异常
2.9 SecturityException
违背安全原则异常
2.10 EOFException
文件已结束异常
2.11 FileNotFoundException
文件未找到异常
2.12 NumberForMATException
字符串转换为数字异常
2.13 SQLException
操作数据库异常
2.14 IOException
输入输出异常
2.15 NoSuchMethodException
方法未找到异常
2.16 NoSuchFieldException
属性不存在异常
2.17 RuntimeException
运行时异常
类型不存在异常
当然,其实还有很多其他异常,这里就不一一列举了。
三. 仿写异常及其好处
看了怎么多的异常,那怎么仿写一个异常呢?下面给出一个例子:
public GestureHelper setPointCount(int pointCount){ if(pointCount<=0){ throw new SecurityException("====pointCount 请输入大于零的值======="); } return GestureHelper.this; }
这是我代码中的一个方法,要求是输入的 pointCount 要大于零,当输入的值不满足条件的时候,会抛出不安全异常,然后出现括号中提示,类似如下:
这样的话,仿写异常的好处立见分晓了,就是当我们在写一个工具类,传入参数不符合条件的话,在运行期就能帮我们检测自己的代码中是否有不规则的东西,能帮我们检测代码的质量。
所以,这无疑是极好的!
总结
以上是脚本宝典为你收集整理的Android自定义抛出异常的方法详解全部内容,希望文章能够帮你解决Android自定义抛出异常的方法详解所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。