`
clover灬
  • 浏览: 9314 次
  • 性别: Icon_minigender_1
  • 来自: 未来
社区版块
存档分类
最新评论

Java return和finally执行顺序

    博客分类:
  • Java
阅读更多
在Java语法中,return表示当前执行的结束,finally则是在当前代码块一定会执行的代码块。如果return在finally在之前执行,finally也会执行吗?答案是肯定的!

但是,finally和return的执行顺序则并不是真正意义上的先后顺序。
 public String test(){
     String s = "";
     try {
         s = "try";
         System.out.println(s);
         return s;
     } catch (Exception e) {
         s = "catch";
         return s;
     } finally {
         System.out.println(s);
         s = "finally";
         System.out.println(s);
     }
 }


在上面的代码中,最后的输出finally,但是test方法返回的参数值确实try。

个人认为,这个先后顺序没有计较的价值。需要知道的是:

1、finally执行的时候并不能改变返回参数的值;

2、finally代码块中最后不要用return;

3、finally和return一起使用,finally是会被执行的。



测试JDK:java version "1.6.0_45"
分享到:
评论

相关推荐

    java 中finally语句块与return的执行关系

    Java 中 finally 语句块与 return 的执行关系 Java 中的 finally 语句块是用于保证无论出现什么情况,一定要执行的代码块。...我们需要了解 finally 语句块的作用和执行顺序,以便编写正确和高效的 Java 代码。

    try、catch、finally、return 执行顺序.doc

    try、catch、finally、return 执行顺序是 Java 编程语言中的一种 exception 处理机制,用于处理程序中的异常情况。下面我们来详细讲解 try、catch、finally、return 执行顺序的规则和特点。 首先,我们需要了解 try...

    关于Java中try finally return语句的执行顺序浅析

    "Java中try finally return语句的执行顺序浅析" 关于Java中try finally return语句的执行顺序浅析是Java语言中一个重要的知识点,今天我们来探讨一下try finally return语句的执行顺序。 首先,需要了解的是...

    Java finally语句到底是在return之前还是之后执行?

    在Java编程语言中,`finally`语句块是一个非常关键的结构,用于确保特定代码无论在...理解`finally`的执行顺序对于编写健壮的、易于维护的代码至关重要。在实际开发中,我们应该充分利用这一特性来提高代码的可靠性。

    浅谈Java中return和finally的问题

    2. **`return` 与 `finally` 的执行顺序**:在 `try` 块中遇到 `return` 时,会先执行 `finally` 语句块,然后再返回值。这是因为 `finally` 中的代码优先级高于 `return`,即使 `return` 已经被触发,`finally` ...

    浅谈Java finally语句到底是在return之前还是之后执行(必看篇)

    Java 中 finally 语句的执行顺序探讨 在 Java 中,finally 语句的执行顺序是一个常见的探讨话题。很多人都认为 finally 语句一定会被执行,但这是不正确的。在某些情况下,finally 语句可能不会被执行,例如在 try ...

    Java中finally和return的关系实例解析

    在Java中,finally语句可以与return语句结合使用,但是它们的执行顺序是非常重要的。finally语句是在try的return语句执行之后,return返回之前执行的。这意味着,如果在try块中执行了return语句,finally语句将在...

    try-catch-finally执行顺序验证

    try-catch-finally执行顺序验证(左边是.java文件,右边是.class文件) 提示: try、catch块内的return操作编译后会变成把return的值保存到变量var的操作。 总结: try、catch块内的return操作编译后会变成把return的值...

    try catch finally的执行顺序深入分析

    在编程语言中,异常处理是一种重要的错误处理机制,它允许我们优雅地捕获并处理运行时可能出现的问题。...理解这个执行顺序对于编写健壮的代码至关重要,特别是在处理资源管理和异常恢复的场景下。

    java面试题之try中含return语句时代码的执行顺序详解

    Java中的`try-catch-finally`结构是用来处理异常和确保某些代码无论是否发生异常都能被执行的关键部分。在涉及`return`语句时,其执行顺序可能会引起混淆,尤其是在`finally`块中有操作的情况下。让我们深入探讨一下...

    java finally块执行时机全面分析

    总的来说,`finally`块的存在确保了程序的整洁性和资源管理的可靠性,它使得开发者能够在任何情况下执行必要的清理操作,而不用担心异常会影响这部分代码的执行。理解`finally`块的执行机制对于编写健壮的Java代码至...

    AtividadesJava:Java执行顺序

    描述中的“Sequência de exercícios em Java”进一步确认了这是关于Java编程中的执行顺序问题,这通常涉及到程序控制流的概念,如顺序执行、条件判断和循环。 在Java中,程序的执行顺序遵循一定的规则: 1. **源...

    Java异常发生时程序的执行顺序

    - 示例 `T2` 中,`try` 里的 `return` 使得 `catch` 和 `finally` 之后的代码不被执行,但 `finally` 还是会执行。 - 示例 `Mine` 展示了文件操作异常的处理。当文件不存在时,`FileInputStream` 构造函数会抛出 `...

    java面试精华7

    - 如果`try`块和`finally`块都有`return`语句,`finally`块的`return`会覆盖`try`块的`return`。这是因为在`return`语句执行后,返回值会被保存,然后`finally`块的代码执行,最后函数真正返回。如: ```java ...

    Java选择题.pdf

    8. try-catch-finally执行顺序:当try块中的return语句执行时,finally块的代码会在return之前执行。因此,选项C正确。 9. 异常处理和返回值:在try-catch-finally结构中,finally块的return语句总是最后执行,所以...

    JAVA经典试题集合

    当try块中的代码遇到return语句时,会先执行finally块,然后返回值。在给定的题目中,由于finally块会打印"Finally",因此程序运行后会输出"Finally",所以正确答案是B。如果try块中包含System.exit(1),程序会立即...

    流程控制用Java

    4. **跳转语句**:Java中还包括一些跳转语句,如`break`、`continue`和`return`,它们用于改变当前循环或方法的执行流程。`break`用于立即退出当前循环或switch语句;`continue`跳过当前循环的剩余部分并继续下一次...

    百度java笔试题目

    下面的代码会返回`false`,原因在于`finally`块中的`return false`总是会被执行。即使在`try`块中尝试返回`true`,控制权也会转移到`finally`块,执行`return false`。 ```java public boolean returnTest() { ...

    java异常ppt

    在处理返回值时,如果`try`块中有`return`语句,那么在执行`return`之前,`finally`块的代码会被执行。 自定义异常是通过创建新的异常类实现的,这些类通常继承自Exception或其子类。例如,创建名为MyException的...

Global site tag (gtag.js) - Google Analytics