try...catch...finally块嵌入return

2024-06-22 14:32
文章标签 try catch 嵌入 return finally

本文主要是介绍try...catch...finally块嵌入return,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不论C++还是Java中,try...catch...finally语句块都是用来控制程序异常的处理,而finally块是最后一定执行的,那么现在在try...catch...块中加入了return语句,finally仍会执行吗?

public class Try_Return_Final {int test(){int x = 1;try{return x;}finally{++x;}}public static void main(String[] args) {System.out.println(new Try_Return_Final().test());		}
}
程序输出结果为:1.

finally语句执行是肯定的原因在于:return只是把返回值放入相应的地方(一般来讲是寄存器),准备返回;但是在一个函数返回之前还需要执行一些操作---清空堆栈(弹出入栈的参数、函数的首地址等等)。所以关键点在于结果返回在函数返回之前,而函数返回并不一定有什么结果。








这篇关于try...catch...finally块嵌入return的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084556

相关文章

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

C++第四十七弹---深入理解异常机制:try, catch, throw全面解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】 目录 1.C语言传统的处理错误的方式 2.C++异常概念 3. 异常的使用 3.1 异常的抛出和捕获 3.2 异常的重新抛出 3.3 异常安全 3.4 异常规范 4.自定义异常体系 5.C++标准库的异常体系 1.C语言传统的处理错误的方式 传统的错误处理机制:

try -catch-finally的理解,同时在try-catch-finally中含有return和throws的理解

在没有try-catch或try-catch-finally的情况下,程序正常执行到某行,在这行报错后,这行后面的代码就不执行了,程序就停止了,中断了。 例如   在有try-catch或try-catch-finally 情况上,在某行执行错误,在try中这行下的代码不执行,try外的代码执行。当然是catch在没有做处理的情况下。如果catch中做了处理,在不影响当前程序下,try

Base64编码 及 在HTML中用Base编码直接显示图片或嵌入其他文件类型

1.为什么要用到BASE64编码的图片信息      Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。最常见的用途是作为电子邮件或WebService附件的传输编码.  2.base64编码定义    目前的internet

王立平--AES加密图片实现 SkImageDecoder::Factory return null

这个问题是在加密图片,存入sd卡,在解密出来展示,出现的。我个人研究了很久没解决。最后经过高人指点,终于解决了。 在此,拿出来分享,希望各位少走弯路。 我之前的设计思路是:(可以不看哦) 1.把图片从drawable读入成bitmap 2.bitmap-->byte 3.调用AES的byte加密算法。 4.加密成byte,在转化为string 5,把string存入sd卡。

专业远程控制SDK嵌入,贝锐向日葵助力保利物业实现智能设备运维

为了实现更高质量的物业服务,很多物业企业在社区一线部署了大量的数字化自助式终端设备。这些设备可以为居民提供自助式的基础物业服务,有效提升了服务效率,居民满意度也得以提高。 一方面,物业企业通过引入此类设备,也逐步开始数字化转型,进而实现管理体系的迭代和降本增效;另一方面,面对数量多,分布广的智能设备,也需要企业构建对应的专业远程运维和技术支持体系,对其实施有效的管理,同时在用户自助使用出现问

as3.0 [Embed]标签嵌入外部资源

as3.0 [Embed]标签嵌入外部资源   空闲时间,总结一下[Embed]标签的用途,好记性不如烂笔头,记录下来,为方便查找。 1、[Embed]嵌入资源 ActionScript代码的顺序非常重要。你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class。 package { import flash.display.

Java中finally关键字的使用

与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。 如果没有 finally,您的代码就会很费解。例如,下面的代码说明,在不使用 finally 的情况下您必须如何编写代码来释放非内存资源: import java.net.*; impo

深入RAG优化:BGE词嵌入全解析与Landmark Embedding新突破

前面已经写过一篇关于Embedding选型的文章,《如何高效选择RAG的中文Embedding模型?揭秘最佳实践与关键标准!》,主要介绍通过开源网站的下载量和测评效果选择Embedding模型。 一、Embedding选型建议与结果 选型建议: 1、大部分模型的序列长度是 512 tokens。8192 可尝试 tao-8k,1024 可尝试 stella。 2、在专业数据领域上,嵌入

mysql Deadlock found when trying to get lock; try restarting transaction

一、现场情况 sql:insert into a ...... 数据库隔离级别:read-committed 表a有唯一索引 二、死锁发生的4个必要条件 1、互斥条件(Mutual Exclusion):资源独享 2、占有并等待条件(Hold and Wait):占有资源并等待其他资源 3、非抢占条件(No Preemption):占有的资源不可以被剥夺,只能主动释放 4、循环等待