JAVA学习(6)异常

概述

1.背景

程序会面对很复杂的情况运行时出现的错误称为异常:用户输入可能出错、程序所在的操作系统可能出错,网络不通等,异常是一种对象。要注意观察错误的行号和异常的名称。

2.概念

Java异常是一种用于处理程序中错误的机制。JVM生成一个Exception对象来通知程序。

3.为什么要使用异常

如果不用异常,可以写很多if else。但是有很多缺点:无法穷举所有的错误情况、错误处理代码与业务代码混乱、影响程序可读性、增加维护难度。

4.怎样使用异常

在这里插入图片描述

5.异常处理的基本流程

在这里插入图片描述

Java异常的分类

在这里插入图片描述

分类1

在这里插入图片描述
在这里插入图片描述

分类2

在这里插入图片描述
由此可知,RuntimeException都是unchecked。
对于checked异常可以throw可以try catch处理。

声明抛出异常

1.功能

可以告诉编译器该方法有可能发生的错误

2.什么时候使用

checked没处理的时候
①调用了一个抛出checked异常的方法,方法中没有处理异常时
如:
在这里插入图片描述
FileInputStream构造方法可能抛出checked类异常FileNotFoundException,而mian方法里又没有处理这个异常,则需要声明抛出异常,如下:
在这里插入图片描述
当然,如果方法中处理了异常,就不用声明了,如下:
在这里插入图片描述
②程序运行时发现错误,利用throw抛出checked异常而不处理异常时
在这里插入图片描述
③若一个方法抛出多个异常,每个异常用“,”分开。

3.总结

在这里插入图片描述

异常的捕获和处理

1.基本结构

在这里插入图片描述
调用catch块处理异常时,会将异常赋值给形参,通过形参访问异常对象的信息。
而finally子句作用如下,可以嵌套try-catch。
在这里插入图片描述

2.常用处理异常方法

在这里插入图片描述

3.异常跟踪栈

在这里插入图片描述
若无处理会层层抛出
在这里插入图片描述

4.处理异常的原则

1.处理方法能够处理的异常。
2.不能处理的异常要抛出,要在方法定义中throws异常,而且可以在代码中手工throw异常
3.不能把父类异常catch写在子类异常catch前面,否则后面子类异常就没用了。

自定义异常

在这里插入图片描述

方法重写中的异常处理

复习方法重写的要求
在这里插入图片描述
举例
在这里插入图片描述

本章总结

在这里插入图片描述

上课补充的一些无关知识点

用Collection.shuffle()随机打乱一个顺序数组
@overried

https://blog.csdn.net/inter18099/article/details/8067336

https://www.cnblogs.com/ttzz/p/8455325.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值