Day 15
2021/9/29 23:40:54
本文主要是介绍Day 15,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
异常 Exception
Error(错误):java虚拟机无法解决的问题,必须崩溃。 如:StackOverFlow, outOfMemory
Exception(异常): 分为 运行时异常[程序运行时发生的异常] 和 编译时异常[编译时,编译器检查出的异常]
运行时异常:RuntimeException
1. NullPointerException
2. ArithmeticException
3. ArrayIndexOutOfBoundsException
4. ClassCastException
5. NumberFormatException
编译异常: 必须处理,否则代码无法通过编译
1. SQLException
2. IOException
3. FileNotFoundException
异常处理方式:
1. try-catch-finally(可省略)
2. throws
细节:
1. 在try 代码块中,如果出现异常了,则try块中异常后面的代码不再执行, 直接进入catch 块
2. 如果没有出现异常,则不会进入catch 块
3. finally 块中的代码无论try中的代码有无异常,都会被执行! 通常将 释放资源,关闭连接的代码放在finally块里。
4. 如果try 代码块里有多个异常, 就可以写多个catch 分别捕获, 但是必须把父类异常写在下面,子类异常写在上面
5. 也可以只使用 try-finally, 如果有异常出现,finally中的代码会继续执行,之后程序崩掉。 finally外的代码不会再执行
6. 子类重写父类的方法时,子类抛出的异常类型 必须是 父类抛出异常类型的子类或者和父类的相同!
这里f3() 报错的原因是: 因为f3方法抛出了一个 编译异常, 但是f1方法并没有处理,所以调用f3()报错。
如果f3方法抛出的是 运行异常,则不会报错; 所以如果抛出的是编译异常,f1方法必须throws 或者 try-catch
自定义异常:
需要继承RuntimeException,因为比较方便,无需在 出现该异常的方法中显示的写出throws
throw 和 throws 的区别:
这篇关于Day 15的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27本地多文件上传的简单教程
- 2024-11-27低代码开发:初学者的简单教程
- 2024-11-27如何轻松掌握拖动排序功能
- 2024-11-27JWT入门教程:从零开始理解与实现
- 2024-11-27安能物流 All in TiDB 背后的故事与成果
- 2024-11-27低代码开发入门教程:轻松上手指南
- 2024-11-27如何轻松入门低代码应用开发
- 2024-11-27ESLint开发入门教程:从零开始使用ESLint
- 2024-11-27Npm 发布和配置入门指南
- 2024-11-27低代码应用课程:新手入门指南