Java基础知识(异常处理)

6. 异常处理

6.1 finally块中的代码什么时候被执行

finally块的作用是为了保证不论出现什么情况,该块中的代码都会被执行。程序在执行return意味着结束对当前函数的调用并跳出该函数体,因此任何语句要执行都只能在return之前执行,所以finally块中的代码也是在return前执行。
出现在java程序中的finally代码块是否一定会被执行:
不一定会被执行

6.2 异常处理的原理是什么

异常是指程序运行时所发生的非正常情况或错误,违反语义规定时,JVM将出现的错误表示为一个异常并抛出。该异常会在catch程序块中进行捕获并处理。目的是提高程序的安全性和鲁棒性。
Java将异常作为对象来处理,定义一个基类(Throwable)作为所有异常的父类。
违反语义规则包括两种情况:
1.Java类库内置的语义检查
2.Java允许开发人员扩展的语义检查,可以自由选择在何时用throw抛出异常

6.3 运行时异常和普通异常的区别

java有两种错误的异常类,分别是Error和Exception,有共同的父类:Throwable。
Error是程序在运行时出现严重错误,不可恢复,会导致程序终止运行。编译器不会检查Error是否被处理,因为运行时异常多事因为逻辑错误导致的,属于应该解决的错误。
Exception表示可恢复的异常,编译器可以捕获,包含检查异常和运行时异常:
1.检查异常:
发生在编译阶段,强制程序捕获此类型的异常。
这种异常在如下几种情况使用:
《1》异常发生不会导致程序出错,进行处理后可以继续执行后续的操作。
《2》程序依赖不可靠的外部条件。
2.运行时异常:
编译器不强制对其进行捕获并处理,使用JVM进行处理。出现运行时异常,系统会把异常一直往上层抛出,直到遇到处理代码为止。
使用异常处理需要注意的:
1.在异常处理时,应该先捕获子类,再捕获父类的异常信息。
2.尽早抛出异常,并进行处理,或从错误中恢复,或让程序继续执行。
3.可根据实际自定义异常。
4.异常能处理就处理,不能处理就抛出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值