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

try-catch-finally可能输出的答案?

try-catch-finally都有返回值时候的处理方案:

1、如果try、catch、finally分别都有返回值时候,最终finally的返回值会覆盖他们两个中的其中一个。
eg:


public static void main(String[] args) {System.out.println(testFinally());}public static String testFinally() {try {System.out.println("try block");int i =1/0;return "return in try"; // (1) 先计算返回值,但不立即返回} catch (RuntimeException e) {return "catch";} finally {return "return in finally"; // (2) finally 的 return 会覆盖 try 的 return}}

运行后的结果

try block
return in finally

2、如果 finally 没有返回值 只是有一段处理逻辑,在执行到return 语句时候 会先执行finally块里面代码的逻辑,然后才会返回return 之后的逻辑。
eg:

public class FinallyTest {public static void main(String[] args) {System.out.println(testFinally()); // 调用 testFinally() 并打印返回值}public static String testFinally() {try {System.out.println("try block"); // (1) 先执行return "return in try"; // (2) 计算返回值,但不立即返回} finally {System.out.println("finally block1"); // (3) 在 return 前执行System.out.println("finally block2"); // (4) 继续执行}// (5) 最后返回 try 中的 "return in try"}
}

运行结果:

try block
finally block1
finally block2
return in try

3、总结
一但遇到return语句之后就会先执行 finally 代码块里面的逻辑,如果finally代码块里面有return将作为最终结果返回,反之则是之前的代码块中的 return 作为结果返回。

http://www.lryc.cn/news/586060.html

相关文章:

  • [BUUCTF 2018]Online Tool
  • MCP上的数据安全策略:IAM权限管理与数据加密实战
  • Vim的magic模式
  • QT跨平台应用程序开发框架(5)—— 常用按钮控件
  • RS232通信如何实现(硬件部分)
  • 请求服务端获取broker的机房归属信息异常
  • 端到端自动驾驶:挑战与前沿
  • Unity URP + XR 自定义 Skybox 在真机变黑问题全解析与解决方案(支持 Pico、Quest 等一体机)
  • 时序数据预处理
  • Javaweb总结一
  • AV1高层语法
  • 【Elasticsearch 】search_throttled
  • (LeetCode 面试经典 150 题 ) 209. 长度最小的子数组(双指针)
  • 【C语言】回调函数、转移表、qsort 使用与基于qsort改造冒泡排序
  • 汇编语言与操作系统交互
  • 27.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--币种服务(一)
  • Kotlin文件操作
  • 留学真相:凌晨两点被海关拦下时,我才明白人生没有退路
  • 【Java八股文总结 — 包学会】(二)计算机网络
  • 力扣 hot100 Day42
  • 精密模具大深径比微孔尺寸检测方案 —— 激光频率梳 3D 轮廓检测
  • 【STM32实践篇】:最小系统组成
  • AI软件出海SEO教程
  • Ubuntu快速搭建QT开发环境指南,5000字解析!!
  • 鸿蒙的NDK开发初级入门篇
  • 附件1.2025年世界职业院校技能大赛赛道简介
  • 分音塔科技(BABEL Technology) 的公司背景、股权构成、产品类型及技术能力的全方位解读
  • 2025 年 4-6 月大模型备案情况分析
  • Ansible 高版本 SELinux 模块深度解析:内置接口原理与实战指南
  • 迷宫可达性统计问题详解