概述
写在前面:
生活中的异常,有哪些?
例如:正常情况下,小王每日开车去上班,耗时大约30分钟。
但是小王通常会提早40~45分钟出门,这是为什么?
因为有“异常”的存在!异常可能是堵车、撞车、汽车故障等各种可能发生的事件,导致上班这一操作无法按时完成。
Java程序中的异常
- 什么是异常
- 什么是异常处理
- Java中如何进行异常处理
- try-catch块
- 打印错误信息
- 常见的异常类型
- try-catch_finally块
- 多重catch
- 声明异常
- 抛出异常
- 自定义异常
- 异常处理原则
什么是异常
异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
什么是异常处理
Java编程语言使用异常处理机制为程序提供了错误处理的能力
Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
try-catch块
第一种情况:正常
public void method(){
try {
// 代码段(此处不会产生异常)
} catch (异常类型 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
第二种情况:出现异常
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
第三种情况:异常类型不匹配
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
打印错误信息
- 在catch块中处理异常:加入用户自定义处理信息
System.err.println("出现错误:被除数和除数必须是整数 ");
- 调用方法输出异常信息:
e.printStackTrace();
- 异常对象常用的方法:
void printStackTrace() //输出异常的堆栈信息
String getMessage() //返回异常信息描述字符串,
//是printStackTrace()输出信息的一部分
常见的异常类型
try-catch_finally块
- 在try-catch块后加入finally块
是否发生异常都执行
不执行的唯一情况
- 存在return的try-catch-finally块:
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
} catch (异常类型 ex) {
// 对异常进行处理的代码段3
return;
}finally{
// 代码段 4
}
}
多重catch
- 引发多种类型的异常:
排列catch 语句的顺序:先子类后父类
发生异常时按顺序逐个匹配
只执行第一个与异常类型匹配的catch语句
声明异常
如果在一个方法体中抛出了异常,如何通知调用者?
- 方式1:调用者处理异常
- 方式2:调用者继续声明异常:main()方法声明的异常由Java虚拟机处理
抛出异常
除了系统自动抛出异常外,有些问题需要程序员自行抛出异常
使用throw抛出异常
自定义异常
当JDK 中的异常类型不能满足程序的需要时,可以自定义异常类
使用自定义异常的步骤:
异常处理原则
异常处理与性能
异常只能用于非正常情况
不要将过于庞大的代码块放在try中
在catch中指定具体的异常类型
需要对捕获的异常做处理
最后
以上就是苗条钢笔为你收集整理的Java的异常!白学JA的第15天Java中如何进行异常处理声明异常抛出异常自定义异常的全部内容,希望文章能够帮你解决Java的异常!白学JA的第15天Java中如何进行异常处理声明异常抛出异常自定义异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复