当前位置: 首页 > news >正文

Java finally catch try关键字

Java finally catch try关键字

finally:

finally 关键字用来创建在 try 代码块后面执行的代码块;无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以进行文件流关闭等收尾善后性质的语句

catch:

catch 关键字用于捕获异常并处理异常的代码块,通常与try关键字一起使用,可以使用多个 catch 代码块对异常进行多重捕获

try:

try 关键字用于包裹可能会抛出异常的代码块

使用示例

try{// 程序代码
}catch(异常类型1 异常的变量名1){// 程序代码
}catch(异常类型2 异常的变量名2){// 程序代码
}catch(异常类型3 异常的变量名3){// 程序代码
}finally{// 程序代码,如关闭文件流等善后操作
}

上述代码也可以改写成下面这种try-with-resources格式

try (resource declaration) {// 使用的资源
} catch (ExceptionType e) {// 异常块
}

try-with-resources:

try-with-resources是一种异常处理机制,它能够自动关闭在 try 块中声明的资源,无需显式地在 finally 块中关闭(JDK7 之后)

常见面试题:

finally 和 catch代码块中return的执行顺序问题

public static void main(String[] args) {System.out.println(a());System.out.println("-----------------");System.out.println(b());System.out.println("-----------------");System.out.println(c());}private static int a() {try{System.out.println(1/0);}catch(Exception e){System.out.println("catch is begin");return 1 ;}finally{System.out.println("finally is begin");}return 0;}private static int b() {try{//待捕获代码System.out.println(1/0);}catch(Exception e){System.out.println("catch is begin");return 1 ;}finally{System.out.println("finally is begin");return 2 ;}}private static int c() {try{//待捕获代码System.out.println(1/1);}catch(Exception e){System.out.println("catch is begin");return 1 ;}finally{System.out.println("finally is begin");return 2 ;}}

运行结果

catch is begin
finally is begin
1
-----------------
catch is begin
finally is begin
2
-----------------
1
finally is begin
2

依照这里的运行结果可以得出结论
1、无论是否有异常,finally中的代码都会执行
2、有异常的情况下,如果catch和finally代码块中均有return,则catch中的return不会被执行(或者覆盖);如果catch代码块中有return,finally代码块中没有return,则catch中的return会被执行

相关文章:

Java finally catch try关键字

Java finally catch try关键字 finally: finally 关键字用来创建在 try 代码块后面执行的代码块;无论是否发生异常,finally 代码块中的代码总会被执行。 在 finally 代码块中,可以进行文件流关闭等收尾善后性质的语句 catch&am…...

docker安装mysql8和mysql5.7

1.docker安装mysql5.7,请点击此链接 2.docker安装mysql8并挂载数据卷 docker pull mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORDmy-secret-pw -d mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORD123456 -v /mqq/mysql8/datadir:/var/lib/mysql -d…...

通过一个例子,说明Python的责任链设计模式有什么优缺点

责任链设计模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将一个请求沿着处理者链进行传递,直到有一个处理者处理它为止。在Python中,这种模式可以通过多种方式实现,通常涉及到一系列对象…...

场地预定小程序基于FastAdmin+UniApp

本文来自:XYvenue场地预定小程序基于FastAdminUniApp - 源码1688 应用介绍 XYvenue是基于FastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 前端演示&#xf…...

CrossPrefetch: Accelerating I/O Prefetching for Modern Storage——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 目前计算设备和存储设备之间的性能差距仍然很大。因此,主内存缓存和缓冲区被广泛用于操作系统、用户级文件系统[32]和I/O运行时,在隐藏性能差距和减少I/O瓶颈方面发挥关键作用[23,26,3…...

详解 Spark Streaming 的 DStream 对象

一、DStream 的创建 1. 通过 RDD 队列 DStream 在内部实现上是一系列连续的 RDD 来表示。每个 RDD 包含有采集周期内的数据 /** 基本语法:StreamingContext.queueStream(queueOfRDDs: Queue, oneAtATime false) */ object DStreamFromRddQueue {def main(args: Ar…...

QT常用控件

目录 1.控件概述 2. QWidget 核⼼属性 设置组件是否可用 获取组件当前位置和尺⼨ QWidget的图标 组件的透明度设置 QWidget光标的设置 字体的设置 组件提示 设置组件获取到焦点的策略 stylesheet样式表 3.常用组件 QPushButton RadioButton Check Box QLabel …...

如何解决chatgpt出现503 bad gateway的问题

昨日,ChatGPT官网挂了,也就是使用web网页端访问的用户,会出现 bad gateway 情况。我们去ChatGPT官方的监控查看,已经展示相关错误。 影响的范围有: 影响了 ChatGPT 所有计划的所有用户。影响包括所有与 ChatGPT 相关…...

Halcon 双相机标定与拼图(二)

一、概述 这种标定有两种模式,有一个标定板和多个标定板两种 一个标定板 两个相机的重叠区域比较大,那么我们可以把标定板放到那个重叠区域来统一坐标系,如下 这种是只需要一个标定板,这种是推荐的方式 。这种是比较简单的&…...

【加密与解密】【04】Java安全架构

JAVA安全模块划分 JCA,Java Cryptography Architecture,Java加密体系结构JCE,Java Cryptography Extension,Java加密扩展包JSSE,Java Secure Sockets Extension,Java安全套接字扩展包JAAS,Java…...

论文阅读:Neural Scene Flow Prior

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址:...

如何通过 6 种简单方法将照片从华为转移到 PC?

华为作为全球领先的智能手机供应商之一,最近推出了其自主研发的操作系统——HarmonyOS 2.0,旨在为智能手机、平板电脑和智能手表等设备提供更流畅的用户体验。随着Mate 40/P40等系列手机计划升级到HarmonyOS 2.0,用户可能需要将手机中的文件备…...

QtCharts使用

1.基础配置 1.QGraphicsView提升为QChartView#include <QtCharts> QT_CHARTS_USE_NAMESPACE #include "ui_widget.h"2. QT charts 2.柱状图 2.1QBarSeries //1.创建Qchart对象QChart *chart new QChart();chart->setTitle("直方图演示");//设…...

深入分析 Flink SQL 工作机制

摘要&#xff1a;本文整理自 Flink Forward 2020 全球在线会议中文精华版&#xff0c;由 Apache Flink PMC 伍翀&#xff08;云邪&#xff09;分享&#xff0c;社区志愿者陈婧敏&#xff08;清樾&#xff09;整理。旨在帮助大家更好地理解 Flink SQL 引擎的工作原理。文章主要分…...

Spring Bean参数校验Validator

Spring Bean参数校验Validator 以下2种方式可以用于所有的 Spring bean 不仅仅是 Controller 控制器。 一、原始类型参数 在控制器&#xff08;或者其他Bean&#xff09;上使用Validated注解。 控制器类 RestController RequestMapping("account") Validated pub…...

AOP案例

黑马程序员JavaWeb开发教程 文章目录 一、案例1.1 案例1.2 步骤1.2.1 准备1.2.2 编码 一、案例 1.1 案例 将之前案例中增、删、改相关节后的操作日志记录到数据库表中。 操作日志&#xff1a;日志信息包含&#xff1a;操作人、操作时间、执行方法的全类名、执行方法名、方法…...

Facebook海外户Facebook广告被暂停的原因

有很多伙伴在Facebook广告时&#xff0c;有时会遇到账号被暂停&#xff0c;并通知你违反了哪些规则&#xff0c;那么Facebook广告被暂停的原因有哪些呢&#xff1f;今天小编详细梳理了一些原因&#xff0c;可以往下看哦~ 您的Facebook广告被暂停可能有以下几个原因&#xff1a…...

网站企业需要适用于什么服务器?

对于网站企业会选择什么样的服务器呢&#xff1f; 为了保证网站能够稳定的运行需要选择高可用性和可靠性的网站服务器&#xff0c;选择具备高可用性架构的云服务器供应商&#xff0c;能够提供多可用区部署、自动故障转移和备份恢复等功能&#xff0c;保障网站在各种故障情况下的…...

winscp无法上传,删除,修改文件并提示权限不够的分析

使用winscp删除文件,报了个错如下 根据这个错就去百度,网上大部分都是通过下面这种方法解决: 在winscp端进行设置 输入主机名(即IP地址)、用户名和密码,然后点击高级 在箭头所指位置输入sudo + sftp应用程序的路径 先查询 sudo find / -name sftp-server -print点击Sh…...

Hadoop3:MapReduce之InputFormat数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块&#xff1a;Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片&#xff1a;数据切片只是在逻辑上对输入进行分片&#xff0c;并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…...

Fastboot Enhance:告别命令行,三步完成Android刷机可视化操作

Fastboot Enhance&#xff1a;告别命令行&#xff0c;三步完成Android刷机可视化操作 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 你是否曾经面…...

C#怎么获取U盘的插拔事件_C#如何重写WndProc捕获消息【进阶】

不能&#xff0c;WndProc 本身无法直接捕获 U 盘插拔&#xff0c;必须先调用 RegisterDeviceNotification 注册设备通知&#xff0c;才能使系统将 WM_DEVICECHANGE 消息路由至 WndProc 并正确解析 m.WParam 和 m.LParam。WndProc 能捕获 U 盘插拔吗&#xff1f;不能&#xff0c…...

NLP-StructBERT赋能内容去重:展示海量文本相似度排查惊艳效果

NLP-StructBERT赋能内容去重&#xff1a;展示海量文本相似度排查惊艳效果 每次打开内容平台&#xff0c;你是不是也经常看到一堆“换汤不换药”的文章&#xff1f;标题不一样&#xff0c;内容却大同小异。对于平台运营者来说&#xff0c;这更是个头疼的问题&#xff1a;怎么从…...

DeepSeek-R1-Distill-Qwen-1.5B效果展示:同一问题下思考链vs直答效果对比

DeepSeek-R1-Distill-Qwen-1.5B效果展示&#xff1a;同一问题下思考链vs直答效果对比 1. 项目概述 DeepSeek-R1-Distill-Qwen-1.5B是一个超轻量级的智能对话模型&#xff0c;基于魔塔平台下载量最高的蒸馏模型构建。这个模型巧妙融合了DeepSeek强大的逻辑推理能力和Qwen成熟的…...

Qwen-Image-2512-ComfyUI入门指南:从安装到生成第一张海报

Qwen-Image-2512-ComfyUI入门指南&#xff1a;从安装到生成第一张海报 1. 快速部署与启动 1.1 硬件准备与环境搭建 Qwen-Image-2512-ComfyUI作为阿里开源的图片生成模型最新版本&#xff0c;对硬件要求相对友好。以下是部署前的准备工作&#xff1a; 显卡要求&#xff1a;N…...

Z-Image-GGUF文生图模型问题解决:常见报错处理,让AI绘画更顺畅

Z-Image-GGUF文生图模型问题解决&#xff1a;常见报错处理&#xff0c;让AI绘画更顺畅 1. 引言 在使用Z-Image-GGUF文生图模型进行AI绘画创作时&#xff0c;许多用户可能会遇到各种技术问题和报错信息。本文将全面梳理最常见的报错情况及其解决方案&#xff0c;帮助您快速定位…...

语燕输入法YuyanIme隐私安全特性深度分析:为什么选择离线输入法

语燕输入法YuyanIme隐私安全特性深度分析&#xff1a;为什么选择离线输入法 【免费下载链接】YuyanIme 语燕输入法-一款基于Rime定制开发的九键、全拼、双拼、手写、火星文等方案、支持悬浮、单手、数字行等键盘模式的中文输入法 项目地址: https://gitcode.com/gh_mirrors/y…...

GLM-4.1V-9B-Base部署指南:模型权重校验+SHA256完整性验证流程

GLM-4.1V-9B-Base部署指南&#xff1a;模型权重校验SHA256完整性验证流程 1. 模型简介 GLM-4.1V-9B-Base是智谱开源的视觉多模态理解模型&#xff0c;支持以下核心功能&#xff1a; 图像内容识别与描述场景理解与分析目标检测与问答中文视觉理解任务 该模型采用9B参数规模&…...

基于YOLOv12的零售客流量分析:Vue.js可视化Dashboard开发

基于YOLOv12的零售客流量分析&#xff1a;Vue.js可视化Dashboard开发 你有没有想过&#xff0c;每天进出你店里的顾客&#xff0c;他们到底是怎么走的&#xff1f;哪些货架最受欢迎&#xff0c;顾客停留了多久&#xff0c;又有多少人只是匆匆路过&#xff1f;过去&#xff0c;…...

别再只用TF-IDF了!揭秘TextRank与BERT结合的关键词提取新玩法(附Colab实操)

超越TF-IDF&#xff1a;TextRank与BERT融合的关键词提取实战指南 在信息爆炸的时代&#xff0c;快速准确地从海量文本中提取核心关键词已成为NLP工程师的必备技能。传统方法如TF-IDF虽然简单高效&#xff0c;但面对社交媒体短文本、学术论文摘要等复杂场景时&#xff0c;往往力…...