Java学习十三
1.异常处理能够使一个方法给它的调用者抛出一个异常。
2.Java异常是派生自java.lang.Throwable的类的实例。Java提供大量预定义的异常类,例如,Error、 Exception、RuntimeException、ClassNotFoundException、Nul1PointerException和 ArithmeticException。也可以通过扩展Exception类来定义自己的异常类。
3.异常发生在一个方法的执行过程中。RuntimeException和Error都是免检异常,其他所有的异常都是必检的。
4.当声明一个方法时,如果这个方法可能抛出一个必检异常,则必须声明为必检异常,告诉编译器可能会出现什么错误。
5.声明异常的关键字是throws,而抛出异常的关键字是throw。
6.如果调用声明了必检异常的方法,必须将该方法调用放在try语句中。在方法执行过程中出现异常时,catch块会捕获并处理异常。
7.如果一个异常没有被当前方法捕获,则该异常被传给调用者。这个过程不断重复直到异常被捕获或者传递给main方法。
8.可以从一个通用的父类派生出各种不同的异常类。如果一个catch块捕获到父类的异常对象,它也能捕捉这个父类的子类的所有异常对象。
9.在catch块中,异常被指定顺序是非常重要的。如果在一个类的父类的异常对象之前没有指定这个类的一个异常对象,就会导致一个编译错误。
10.当方法中发生异常时,如果异常没有被捕获,方法将会立刻退出。如果方法想在退出前执行一些任务,可以在方法中捕获这个异常,然后再重新抛给真正的处理器。
11.任何情况下都会执行finally块中的代码,不管try块中是否出现或者捕获了异常。
12.异常处理将错误处理代码从正常的程序设计任务中分离出来,这样,就会使得程序更易于阅读和修改。
相关文章
- 编译型语言与解释型语言
- 关于编辑器和解释型编译型语言
- 多道技术、同步异步和阻塞非阻塞
- 升级指南之JDK 11+ 新特性和AJDK
- Spring 国际化@Autowired MessageSource 配置文件读取顺序
- Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?
- 读Java性能权威指南(第2版)笔记09_即时编译器下
- 【Java】先return还是先finally
- 【SpringBoot】AOP默认的动态代理
- 配置完maven环境变量后cmd输入mvn -v命令后报错:NB: JAVA_HOME should point to a JDK not a JRE
- 读Java性能权威指南(第2版)笔记08_即时编译器中
- 静态类和非静态类 抽象类
- java开发JDK工具的安装
- 三天吃透Java基础八股文
- nacos简单使用
- Spring Security + JWT + Swagger2 登录验证一套流程小结
- ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
- 读Java性能权威指南(第2版)笔记07_即时编译器上
- Collection集合类(Java)
- 【JavaEE】快速了解什么是Maven?