java运行时异常与一般异常有何异同_JAVA异常处理 简介与运行时异常

博客介绍了Java中的异常类型,包括检查性异常、运行时异常和错误。重点讲解运行时异常,指出其可被避免,还列举了如ArrayStoreException、FileNotFoundException等多种运行时异常,并对部分异常产生原因做了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c9f87e3cb1dbf99757294e02066577cc.png

异常,就是犯错,我们程序员,错了就得改!

检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。

运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

a8b291b5be58b4cf7897b584d307ecc9.png

运行时异常:

为啥我要先讲运行时异常?因为运行时异常是可以被我们避免的,catch这类错误本身就是不好的,我们应该避免这类错误,比如数组越界,是可以避免的如果你非要去catch,就是不好的行为。

首先,我们先写个主方法方便统一catch,然后逐个讲解如何实现此类异常

fe6e6109dc26fa6e3a42fd01863f76df.png

下面开始:

1、ArrayStoreException

public 

往一个数组里放了一个不应该放的东西

2、FileNotFoundException

public 

文件找不到,对路径就是我瞎写的

3、ArithmeticException

public 

计算错误,傻子才会把0当分母,没啥好分的对吧

4、ClassCastException

public 

非得把空对象当字符串打印,java不知道咋搞了

5、ArrayIndexOutOfBoundsException

这一条我都懒得打代码,直接翻译一下

6、IllegalArgumentException

public 

就传参有问题呗,这个挺难写的

7、IllegalMonitorStateException

public 

这货想调用等待方法,但是他并没有“锁”

8、IllegalStateException

“覆水难收”,当我们意图在一个已经关闭的流中追加信息的时候,或是意图修改已经发出去的请求的请求头时就会有这个报错

9、IllegalThreadStateException

public 

你试图启动一辆已经启动的车子

10、IndexOutOfBoundsException

public 

这个为啥我要说一下呢?这个和前面的一块儿说,大家看这个代码肯定小小的脑袋里装满了疑惑,都是拿错的,为啥顶上的就是Array,下面的就是index

3aa80283ceaf01641d038f98230e51f9.png

get的时候他会先去检查

006b008dbafb7417e9eb51de1c522be4.png

检查不到就报错

你大可理解为,前面的,单纯就是取值取不到报错,后面这个,一般是个过程稿,比如我要排序的时候发现我找的那个值有问题,上图这个是在判断数据有没有的时候发现要找的值不存在,而不是直接返回。

11、NegativeArraySizeException

如果应用程序试图创建大小为负的数组,则抛出该异常,大家自己回去写吧。

12、NullPointerException

当应用程序试图在需要对象的地方使用 null 时,抛出该异常,正常的程序员都遇到过。

13、NumberFormatException

public 

格式不对,转不成正确的数字。

14、SecurityException

由安全管理器抛出的异常,指示存在越权行为,安全处理器我们后面单独开一章来讲。

15、StringIndexOutOfBoundsException

和之前的数组差不多,不过这次是字符串

16、UnsupportedOperationException

public 

这就不行,因为list的add是假的

9d3ac1083a7d8ec5c64bcea2ca6ff3da.png

怎么行呢?这样

public 

我们来看一下arrayList的add

b111558d89169be7932e9d8c0616b35a.png

好了,以上

最后点一下题,送大家一句话:

如果犯错是成长的过程,那么改错就是成熟的过程,犯错和改错之间,我们却忽略了认错。不肯承认自己的平凡,自以为伟大,自以为成熟,自以为圣贤,闭着眼睛是打不开下一扇门的。没必要向现实邀功,也不必向过往道歉,愿你我都是鲁莽的少年。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值