您现在的位置是:首页 > 文章详情

Java 异常(二) 自定义异常

日期:2020-06-04点击:316

Java 异常(二) 自定义异常

在开发中,为了适应业务的开发需求, 在 Java 中可以根据业务的异常情况自定义异常。

一、自定义异常
所有的自定义异常都必须是 Throwable 的子类,在自定义继承时可以继承于 Exception 或者它的子类。

二、自定义异常的分类
1、检查性异常类:自定义异常类继承于Exception。
2、运行时异常类:自定义异常类继承于RuntimeException
三、Objects的非空判断
Objects由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或 null-tolerant(容忍空指针的),那么在它的源码中,对对象为null的值进行了抛出异常操作。Objects通过调用requireNonNull(T obj)方法查看调用对象是否为null。

public static T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
从上面源码可以看出,如果传递对象为 null,requireNonNull 方法会抛出 NullPointerException 异常,否则返回该对象。

四、实例
1、自定义检查性异常类(MyException)

public class MyException extends Exception {

 public MyException() { } // 无参构造 public MyException(String msg) { super(msg); // msg : 异常提示信息 } public MyException(Throwable throwable) { super(throwable);// throwable 类型 }

}

2、自定义运行时异常类(MyRuntimeException)

public class MyRuntimeException extends RuntimeException {

public MyRuntimeException() { } // 无参构造 public MyRuntimeException(String msg) { super(msg); // msg : 异常提示信息 } public MyRuntimeException(Throwable throwable) { super(throwable);// throwable 类型 }

}

3、自定义异常的使用实例

public class ExceptionDemo {

public static void main(String[] args) throws Exception { int i = demo(3); System.out.println("i = " + i); } public static int demo(int index) throws MyException{ int[] arr = {1,2,3}; if(index >= arr.length || index < 0) throw new MyRuntimeException("您传递的索引错误,数组索引在0-2之间"); return arr[index]; }

}

 4、Objects的非空判断实例
public static void main(String[] args) throws Exception {

Integer i = 10; Integer i2 = Objects.requireNonNull(i); System.out.println(i2);

}

原文地址https://www.cnblogs.com/lingq/p/12943295.html

原文链接:https://yq.aliyun.com/articles/763845
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章