本篇文章给大家分享的是有关怎么在Android中自定义抛出异常,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
一. 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 要大于零,当输入的值不满足条件的时候,会抛出不安全异常,然后出现括号中提示,类似如下:
Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。
以上就是怎么在Android中自定义抛出异常,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。