java异常处理——try catch finally

devtools/2025/2/3 16:43:40/

 单个异常处理

 1.当try里的代码发生了catch里指定类型的异常之后,才会执行catch里的代码,程序正常执行到结尾

2.如果try里的代码发生了非catch指定类型的异常,则会强制停止程序,报错

3.finally修饰的代码一定会执行,除非在执行到finally之前程序异常退出或者调用了系统的退出方法

面试题1:

在try语句中在执行return语句时,若发现后面跟了finally,则会把return的值先另外用变量缓存,执行完finally之后再真正执行return,return的值是之前缓存的变量。

总结:finally语句中无法改变return返回值

可以用 javap -c verbose runtimeDemo1.class 指令来把字节码文件反编译,得到 JVM 字节码

面试题2:

final finally finalize三者的区别

final修饰的类不能被继承,修饰的方法不能被重写,修饰的变量是常量

finally是try catch语句中的一部分,表示要最终执行的代码,常用来做资源的释放

finalize:Object中的方法,在垃圾回收的时候会用到的方法

 多个异常处理


http://www.ppmy.cn/devtools/155768.html

相关文章

【懒删除堆】力扣3092. 最高频率的 ID

你需要在一个集合里动态记录 ID 的出现频率。给你两个长度都为 n 的整数数组 nums 和 freq ,nums 中每一个元素表示一个 ID ,对应的 freq 中的元素表示这个 ID 在集合中此次操作后需要增加或者减少的数目。 增加 ID 的数目:如果 freq[i] 是正…

计算机网络 笔记 网络层 3

IPv6 IPv6 是互联网协议第 6 版(Internet Protocol Version 6)的缩写,它是下一代互联网协议,旨在解决 IPv4 面临的一些问题,以下是关于 IPv6 的详细介绍: 产生背景: 随着互联网的迅速发展&…

shallowRef和shallowReactive的用法以及使用场景和ref和reactive的区别

Vue3 浅层响应式 API 1. ref vs shallowRef 1.1 基本概念 ref: 深层响应式,会递归地将对象的所有属性转换为响应式shallowRef: 浅层响应式,只有 .value 的改变会触发更新,不会递归转换对象的属性 1.2 使用对比 // ref 示例 const deepRe…

数据结构与算法之栈: LeetCode 641. 设计循环双端队列 (Ts版)

设计循环双端队列 https://leetcode.cn/problems/design-circular-deque/description/ 描述 设计实现双端队列。 实现 MyCircularDeque 类: MyCircularDeque(int k) :构造函数,双端队列最大为 k 。boolean insertFront():将一个元素添加到双端队列头部…

【开源免费】基于SpringBoot+Vue.JS贸易行业crm系统(JAVA毕业设计)

本文项目编号 T 153 ,文末自助获取源码 \color{red}{T153,文末自助获取源码} T153,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

基于微信的课堂助手小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

毕业设计--具有车流量检测功能的智能交通灯设计

摘要: 随着21世纪机动车保有量的持续增加,城市交通拥堵已成为一个日益严重的问题。传统的固定绿灯时长方案导致了大量的时间浪费和交通拥堵。为解决这一问题,本文设计了一款智能交通灯系统,利用车流量检测功能和先进的算法实现了…

ubuntu22.04防火墙策略

Ubuntu 22.04 作为一款流行的Linux发行版,其安全性尤为重要。防火墙是保护系统免受外部威胁的关键组成部分。本文将介绍如何在Ubuntu 22.04上配置和管理防火墙策略,包括使用UFW(Uncomplicated Firewall)和更为复杂的iptables。 一…