个人笔记-异常处理

异常: 指的是 Exception Exception 类, 在 Java 中存在一个父类 Throwable (可能的抛出)
Throwable存在两个子类
1.Error :表示的是错误,是 JVM 发出的错误操作 , 只能尽量避免,无法用代码处理。
2.Exception :一般表示所有程序中的错误,所以一般在程序中将进行 try…catch 的处理。
try+catch的处理流程:

1. 当代码出现异常时,系统会自动生成一个异常类的实例化对象;

2. 如果异常发生在try语句,则会自动找到匹配的catch语句执行,如果没有在try语句中,则会将异 常抛出;

3.所有的catch根据方法的参数匹配异常类的实例化对象,如果匹配成功,则表示由此catch进行处理。

处理异常的格式:

try{
              // 有可能发生异常的代码段
}catch( 异常类型 1 对象名 1){
             // 异常的处理操作
}catch( 异常类型 2 对象名 2){
            // 异常的处理操作
} ...
finally{
           // 异常的统一出口
}
注意: 在进行异常的处理之后,在异常的处理格式中还有一个 finally 语句,那么此语句将作为异常的统一出口,不管是否产生 了异常,最终都要执行此段代码。
finally语句能不能不执行?
finally语句是可以不执行的,如电脑重启,内存满了,停电等外部条件不能满足代码运行时,就不运行finally语句;在代码中唯一不运行finally语句的情况是,在运行finally之前直接退出JVM, 通过代码退出 JVM:System.exit(0);因为Java文件运行都必须通过JVM编译成.class文件,JVM不编译所有代码均不能执行
try-catch-finally 中哪个部分可以省略?
答: catch finally 可以省略其中一个 , catch finally 不能同时省略
注意 : 格式上允许省略 catch , 但是发生异常时就不会捕获异常了 , 在开发中也不会这样去写代码。
try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
答: finally 中的代码会执行
详解:
执行流程:
1. 先计算返回值, 并将返回值存储起来, 等待返回
2. 执行 finally 代码块
3. 将之前存储的返回值, 返回出去;

throws关键字:

throw关键字表示在程序中人为的抛出一个异常,因为从异常处理机制来看,所有的异常一旦产生之后,实际上抛出RuntimeExcepion Exception 的区别 的就是一个异常类的实例化对象,那么此对象也可以由throw直接抛出。
throws关键字格式:
返回值 方法名称()throws Exception{
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dux123456789

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值