第二十二章:Java编程之异常处理机制
什么是异常
在Java编程中,程序运行出错,有一类错误是我们可以预见到的,可以提前做处理的,这类错误叫做异常。这种情况,是我们写代码的时候,就已经想得到可能会发生什么事,所以提前备好B计划。如我们去读一个文件的内容,那有可能这个文件不存在;如果我们访问一个网页,那可能此时网络不通;如果我们除一个数,那这个数有可能为0.
标准语法:
try{
//执行正常操作
} catch (Exception e){
//处理异常
} finally {
//无论正常还是异常,都要做的处理
}
在try{}这个代码块中,执行我们正常情况下的代码,但是这段代码有可能会出错;
出错时,就会跳到catch{}代码块中执行,如果除了错,那就要做出错处理;
最后的finally是一切的终点,不管程序出不出错,最后都会到这里,一般是做一些善后的工作。
那你大概会好奇,我怎么知道代码是否会出错呢?
这个一般不需要你操心了,开发工具在你写代码的时候,就会体贴地提醒你,因为他会知道你调用的代码是否可能会出错。譬如你要打开一个文件,想读里面的内容,就有可能会遇到文件不存在的异常,你就需要处理这样的情况。
如果用户让你打开一个不存在的文件,你就对他说:臣妾做不到啊。
如果用户让你用100除0,那就对他说:有病啊。
当然了,try、catch、finally三兄弟也不总是成双成对;
可以try和catch单独出门;
也可以try和finally一起;
不过没有try就不行了,毕竟try才是正主,C位啊。
自定义异常
除了系统里原有的异常类型,我们自己也可以定义自己的异常类。
只要继承Exception类就可以了,那怎么使用呢?
代码简析:
- 定义了一个test方法,这个方法可能会产生MyException异常。(当然上面代码为了简化表达,是一定会产生这种异常)
- 在main方法中,使用test方法,因为test会产生MyException异常,所以就需要放在try-catch块中,并对这种异常进行处理。
相关文章
- 疯狂创客圈 JAVA 高并发 总目录
- java安全编码指南之:异常处理
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
- Java 集合List、Set、HashMap操作二(Map遍历、List反向、Set删除指定元素,集合只读、TreeMap操作、List转Array、List移动元素)
- 解决spark dataframe get 报空指针异常 java.lang.NullPointerException
- java后端返回Json数据格式工具类封装
- Java中如何进行异常处理?throws、throw、try、catch、finally分别如何使用?
- Java 中 手动抛出异常: throw new Exception("错误信息") 错误信息的获得
- 上半年 Java 面试真题整理,每一题都很经典
- 第57节:Java中流的操作以及编码解码
- 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架
- Java菜题
- AIDL 发生异常的原因 Android java.lang.SecurityException: Binder invocation to an incorrect interface
- java基础day11---空指针异常----引用类型--自定义类型赋值--封装
- java多线程学习超详细
- java安全编码指南之:异常处理
- 【华为OD机试真题 java、jsNode、c++】异常的打卡记录【2022 Q4 100分】
- 【转】Java异常总结和Spring事务处理异常机制浅析
- 2023年java面试真题
- JAVA魔法堂:折腾Mybatis操作SQLite的SQLException:NYI异常
- JAVA并发编程学习笔记之CAS操作
- java中volatile关键字的含义
- Java小白入门200例37之Java截取字符串
- Java正则表达式 Pattern 类的用法
- Java异常处理
- Java 深入理解Java异常以及异常处理机制