finally语法:

try{
可能包含异常的代码

}catch(异常类 变量名){
异常处理代码

}…(多个catch)

finally{
后置处理代码

}

demo1

public static void main(String[] args) {try {test();} catch (Exception e) {e.printStackTrace();}}public static void test() throws Exception {try {throw new Exception("lalalala");}catch (RuntimeException e){e.printStackTrace();}finally {System.out.println("finally");}}

输出:

finally

java.lang.Exception: lalalala

at helloworld.exception.FinallyTeach.test(FinallyTeach.java:15)

at helloworld.exception.FinallyTeach.main(FinallyTeach.java:7)

结论:

异常如果没有被捕获,会执行finally的代码

demo2

public static void main(String[] args) {try {test2();} catch (Exception e) {e.printStackTrace();}}public static void test2() throws Exception {try {throw new RuntimeException("abcd");}catch (RuntimeException e){e.printStackTrace();}finally {System.out.println("finally");}}

输出:

finally

java.lang.RuntimeException: abcd

at helloworld.exception.FinallyTeach.test2(FinallyTeach.java:25)

at helloworld.exception.FinallyTeach.main(FinallyTeach.java:7)

结论: 如果异常被捕获,依然会执行finally里的代码

1.无论异常是否被捕获,finally的代码一定会被执行。
2.finally里适合存放释放资源、后续处理的代码

finally的作用相关推荐

  1. Object的finalize()方法的作用是否与C++的析构函数作用相同

    Object的finalize()方法的作用是否与C++的析构函数作用相同 public class Finalization {private static Finalization finaliz ...

  2. 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin

    1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...

  3. 【B/S实践】解决:vs中修改样式表后不起作用的问题

    缓存,有好多,cpu和内存之间的三级缓存,浏览器内的缓存! 缓存是因为速率不对等,通过缓存来加速内容的显示! 今天我在敲牛腩的时候遇到一个问题,找了半小时,才发现是缓存导致的问题! 试着运行aspx文 ...

  4. 卷积神经网络之卷积计算、作用与思想 深度学习

    博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...

  5. 机器学习——标准化/归一化的目的、作用和场景

    对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...

  6. Linux操作系统下文件作用

    linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的 ...

  7. python sys.argv[] 的作用

    sys.argv[]是什么 argv 是sys库里面的所以使用的 需要先引入sys (使用import sys) sys.argv[]的作用 从程序外获取参数,怎样理解呢,例如在终端中运行test脚本 ...

  8. C++ namespace 的作用以及使用

    namespace 是什么: 命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同一个任务中的所有类声明放在同一个命名空间中.标准C++库(不包括标准C库)中所包含的 ...

  9. Android Environment 的作用以及常用的方法

    从源码中可以看到这样一句话 Provides access to environment variables Environment的作用是:  提供对环境变量的访问 常见的方法 //外部存储设备的当 ...

  10. RecyclerView Adapter中notifyDataSetChanged 的作用

    一直认为notifyDataSetChanged  是 用来刷新数据的 当数据发生变化的时候调用notifyDataSetChanged 官方说:通知任何注册的观察者数据发生了改变(Notify an ...

最新文章

  1. Laravel Dcat Admin 安装
  2. 线段树分治 ---- CF1217F - Forced Online Queries Problem(假离线 可撤销并查集 + 线段树分治)详解
  3. 毕业三年薪水翻三倍!?你想要吗?
  4. [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口
  5. Netty网络聊天室完整代码实现
  6. python入职要求_Python入职面试,可能会被企业HR问到的问题,你准备好了吗
  7. React Native悬浮效果组件
  8. 【前端 · 面试 】HTTP 总结(六)—— HTTP 版本区别
  9. 怎么在知网上下载pdf格式的论文
  10. Lab4: traps
  11. 【Redis】Redis配置文件详解(很全)
  12. 模拟电路4(三极管的特性曲线和重要参数)
  13. 国标视频平台搭建(七)配置https访问
  14. Mysql为什么使用B+树(一)之红黑树简述
  15. String Shifting- 今日头条校招2016-09-28在线编程题
  16. 分享 | 研发效能提升——敏捷需求篇
  17. Java 获取linux根目录下的文件夹_Linux-包教包会系列
  18. linux ramdisk swap,ramdisk和initramfs比较
  19. win10控制面板快捷键_你没玩过的全新版本:Win10这些操作你知多少
  20. 多渔:赚钱是场漫长的修行

热门文章

  1. 高速信号采集的天线拉远系统方案
  2. linux更改用户登录密码,Linux更改用户密码
  3. java 文件路径校验_java中File的绝对路径和相对路径的校验
  4. c汇编语言实验,C语言与汇编语言编程实验
  5. 电脑怎么登陆邮箱,登陆邮箱忘记密码怎么办?
  6. lsblk命令及uuid查看
  7. 上拉电阻和下拉电阻_以按键举例
  8. 腾讯云CVM云服务器/轻量应用服务器/GPU云服务器配置价格表(2023年版)
  9. uwsgi+nginx 部署django项目 假死现象
  10. 为什么屏幕分辨率是 640x480?