栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java生态的异常,还是异常的生态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java生态的异常,还是异常的生态

前言
  • Java中针对异常做了很细的拆分。大多分为Exception和Error , 他们两个都继承自Throwable这个类。
  • Exception是程序执行过程中因为业务产生的错误。程序本身针对Exception能够进行处理的异常。
  • Error大多是程序本身无法解决的问题。比如内存不够了,栈深度太深了等等问题

什么是异常
  • 异常是指在程序执行期间有些事无法通过实现代码层面上做出的判断。依赖于数据产生的可能情况
分类
  • Throwable是异常的父类,所有的异常都是从这里衍生来的。其下有两个主力Exception+Error 。

  • error 是编译期间就能发现的问题。是JVM在处理的事情

异常名称作用
NullPointerException空指针异常
ClassCastExceptionclass转换异常
IndexOutOfBoundsException数组越界异常
IllegalArgumentException参数不合法异常
ArrayStoreException数组异常
NullPointerException
  • 首先我们总结下哪些情况会出现这个空指针异常。
  • ①、字符串变量未初始化
  • ②、对象未初始化
  • 总结下来就是一句话,Java领域中使用了Null这个抽象的对象。这种异常就是典型的运行时异常,以为编译期间是无法监测到该对象会出现空的可能的。只有在运行期间通过特定的数据才会产生异常的发生
ClassCastException
  • ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常
IndexOutOfBoundsException
  • 该异常通常是指数组下标越界异常。在Java中数组是一个固定长度的集合。如果一个长度为10的数组,你想获取第十一个元素这本身是不可能的,所以这个时候就会报IndexOutOfBoundsException
IllegalArgumentException
  • 非法参数,在程序开发过程中尤其是Java对数据的格式要求及其严格。比如我定义了一个整数型参数,但是你提供了一个浮点型这就不符合我的需求。这个时候如果没有检查机制的话我们拿着浮点型去操作肯定回造成脏数据。所以这个时候添加了检查机制就提供了很大的帮助。
ArrayStoreException
  • 顾名思义就是在存储数组是发生的异常。
Object[] obj = new String[3];

obj[0] = new Integer(0);
  • 我们定义数组接收的是String 。但是添加的是int类型数据
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号