Android自己设置抛出异常

作者 : 开心源码 本文共1767个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共174人阅读

前言

在android开发过程中,我们经常遇到异常的问题,崩溃抛出异常的时候,是非常令人烦闷的。但是异常有一个好处,使得app能在编译的时候给我们提供少量bug信息,有时可能比较模糊,有时可能很精准,甚至提醒报错行。基于这一点,今天我们就来讲讲android中的异常吧。

今天要讲的内容:

  1. throw 和 throws
  2. 异常类型
  3. 仿写异常及其好处

一. throw 和 throws

异常通常的解决方式有 throw/throws 以及 try-catch 两种。今天我们主要讲解throw/throws这一类的解决。

  • throw:抛出异常,一般是一个具体的异常。放置在方法体内,当代码执行此行并抛出一个具体的异常以后,此异常下面的逻辑代码均不会执行。
  • throws:抛出异常的公告,一般放在方法头,表示此方法的执行可能会引起某个异常,或者某几个异常,throws 后面可以公告多个异常,如 :
public static void function1() throws Exception1, Exception2, Exception3{}

而 throws引起的异常,一般由调用此方法的方法去解决。

二. 异常类型

java开发异常大致分为三种:

  • java.lang.Error
  • java.lang.Exception
  • java.lang.RuntimeException
    这三个异常类都继承于他们的父类 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

运行时异常

2.18 TypeNotPresentException

类型不存在异常

当然,其实还有很多其余异常,这里就不逐个列举了。

三. 仿写异常及其好处

看了怎样多的异常,那怎样仿写一个异常呢?下面给出一个例子:

    public GestureHelper setPointCount(int pointCount){        if(pointCount<=0){            throw new SecurityException("====pointCount 请输入大于零的值=======");        }        return GestureHelper.this;    }

这是我代码中的一个方法,要求是输入的 pointCount 要大于零,当输入的值不满足条件的时候,会抛出不安全异常,而后出现括号中提醒,相似如下:

1.png

这样的话,仿写异常的好处立见分晓了,就是当我们在写一个工具类,传入参数不符合条件的话,在运行期就能帮我们检测自己的代码中能否有不规则的东西,能帮我们检测代码的质量。

所以,这无疑是极好的!

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android自己设置抛出异常

发表回复