`
lige239141
  • 浏览: 174829 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

finally和return

 
阅读更多
package demo1;
/**
 * (1)首先执行finally,然后才执行return;
   (2)如果finally里面有return,try中的return不会再执行;
   (3)如果try中有了异常,return也不执行;
 */
public class Test1 {
	public static int f1(){
		int i=1;
		try{
			i=2;
			return i;
		}catch(Exception e){
			return i;
		}finally{
			i=3;
			System.out.println("finally");
		}
	}
	public static int f2(){
		int i=1;
		try{
			i=2;
			return i;
		}catch(Exception e){
			return i;
		}finally{
			i=3;
			System.out.println("finally");
			return i;
		}
	}
	public static int f3(){
		int i=1;
		try{
			i=i/0;
			return i;
		}catch(Exception e){
			return i;
		}finally{
			i=3;
			System.out.println("finally");
		}
	}
	
	public static void main(String[] args){
		System.out.println(f1());
		System.out.println(f2());
		System.out.println(f3());
	}
} 

 运行结果:

 

 

finally
2
finally
3
finally
1
 

 

 

分享到:
评论
1 楼 GaoMatrix 2011-02-10  
你写的这个不对呀,应该是先return,然后执行finally,你的运行结果也是说明了这一点呀

相关推荐

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

    Java中finally和return的关系实例解析 Java中finally和return的关系实例解析是Java编程语言中一个重要的知识点。finally语句是Java语言中的一种特殊语句,它用于释放资源、关闭文件、关闭网络连接等操作。return...

    Java异常处理中同时有finally和return语句的执行问题

    在涉及finally和return语句时,Java有一些特定的行为规则。 首先,`finally`块中的代码总是会被执行,除非程序在执行到`finally`块之前就退出了JVM(例如通过`System.exit()`)。即使在`try`块或`catch`块中有`...

    try-catch-finally-return-in-finally.rar_return

    在这个例子中,尽管 `try` 和 `catch` 都有 `return`,但最终的返回值由 `finally` 块的 `return` 决定。`finally` 块总是会被执行,即使在 `try` 或 `catch` 中已经有一个 `return` 语句,这使得我们可以确保无论...

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

    Java 中 finally 语句块与 return 的执行关系 Java 中的 finally 语句块是用于保证无论出现什么情况,一定要执行的代码块。在 try-catch-finally 结构中,finally 语句块的执行顺序是非常重要的。下面我们来详细...

    try-finally-return-in-finally.rar_return

    综上所述,`try-finally` 结构结合`return`语句的使用是一个重要的编程概念,尤其在处理异常和资源释放时。正确理解和应用这一机制可以提高代码的稳定性和可读性。而针对大量嵌套括号的正则表达式,我们需要关注其...

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

    下面我们来详细讲解 try、catch、finally、return 执行顺序的规则和特点。 首先,我们需要了解 try、catch、finally 语句的基本用法。try 语句用于包装可能抛出异常的代码,catch 语句用于捕捉 try 语句中的异常,...

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

    即使在`finally`块中有`return`,原始的`return`语句的返回值也不会丢失,因为编译器已经将其保存。`finally`块执行完毕后,才会使用其自身的`return`(如果有)或者原始`return`的值来返回结果。 在实际编程中,...

    Java的throw和return

    ### Java的throw和return 在Java编程语言中,`...综上所述,`throw`和`return`是Java中非常重要的控制流结构,它们与`finally`块之间有着紧密的联系。正确理解和运用这些概念对于编写健壮可靠的Java程序至关重要。

    try~catch~finally中关于return的问题

    在Java的异常机制中,如果finally中含有return语句,则try和catch中的return语句将会被JVM忽视

    Java语言finally语句详解,finally到底是在return之前还是之后执行.zip

    Java语言finally语句详解,finally到底是在return之前还是之后执行.zip

    最新各大公司企业真实面试题-NewEgg.面试题.txt

    1. finally和return的关系:finally块用于释放资源,return用于返回函数结果,在try-catch-finally中,finally块总是被执行。 2. 页面重定向的方式:包括客户端重定向、服务器端重定向、JavaScript重定向等。 3. ...

    浅谈Java中return和finally的问题

    在Java编程语言中,`return` 语句和 `finally` 语句的相互作用是一个重要的概念,尤其是在处理异常处理时。`finally` 语句块通常用于确保某些代码无论是否发生异常都会被执行,而 `return` 语句用于提前结束方法并...

    Java中finally块执行与return关系深度剖析

    Java finally语句到底是在return之前还是之后执行?Java finally执行深度剖析,具体看这篇博文:http://blog.csdn.net/lanxuezaipiao/article/details/16922895,这是里面相关的源码,欢迎大家下载使用。

    浅析Python中return和finally共同挖的坑

    本文主要给大家介绍了在Python中return和finally共同存在的坑,以及填坑经验,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 初识 return 相信每一个用过Python函数的童鞋, 肯定会用过return...

    关于Java中的try-catch-finally语句和return

     第二:finally里面不建议放return语句,根据需要,return语句可以放在try和catch里面和函数的后。可行的做法有四:  1、return语句只在函数后出现一次。  2、return语句仅在try和catch里面都出现。  3、...

    Java基础+Android面试题

    7. Java异常处理:包括异常的类型、如何使用try-catch-finally语句来处理异常,以及finally和return语句的执行顺序。 8. Java 8新特性:涵盖了Java 8版本中引入的诸如Lambda表达式、Stream API等新特性。 9. Java...

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

    通过实验和示例,我们可以证明 finally 语句是在 try 的 return 语句执行之后,return 返回之前执行的。 在下面的示例中,我们可以看到 finally 语句是在 try 的 return 语句执行之后,return 返回之前执行的。 ``...

    finally结构的注意点(一)

    在本文中,我们将深入探讨 `finally` 的使用和一些需要注意的细节,尤其是与Java相关的知识点。 首先,`finally` 通常与 `try-catch` 结构一起使用。在 `try` 块中,我们执行可能会抛出异常的代码。如果发生异常,...

    try-catch-finally捕获异常

    try-catch-finally语句是Java语言中一种常用的异常处理机制,当程序在执行过程中出现异常时,可以使用try-catch-finally语句来捕获和处理异常。下面将详细介绍try-catch-finally语句的使用方法和注意事项。 一、try...

Global site tag (gtag.js) - Google Analytics