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

不要在finally块中return

    博客分类:
  • java
 
阅读更多

 

此操作会把异常忽略。

 

public static void main(String[] args){
	try{
		doStuff(-1);
		doStuff(100);
	}catch(Exception e){
	    System.out.println("这里是永远都不会到达的");
	}
}
//该方法抛出受检异常
public static int doStuff(int _p)throws Exception{
	try{
		if(_p < 0){
			throw new DataFormatException("数据格式错误");
		}else{
			return _p;
		}
	}catch(Exception e){
		//异常处理
		throw e;
	}finally{
		return -1;
	}
}

 

refurl:http://blog.csdn.net/p106786860/article/details/12080501

 

 

 

 

 

分享到:
评论

相关推荐

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

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

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

    3. 即使在`finally`块中也有`return`语句,`finally`块中的代码将被执行,然后返回值会被覆盖。这意味着`finally`块的`return`总是会覆盖`try`或`catch`块中的`return`。 现在让我们深入源码层面来进一步理解这个...

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

    通过以上分析,我们可以得出结论:任何执行 try 或者 catch 中的 return 语句之后,在返回之前,如果 finally 存在的话,都会先执行 finally 语句,如果 finally 中有 return 语句,那么程序就 return 了。...

    try-finally-return-in-finally.rar_return

    在JavaScript中,当`try`块中的`return`语句执行时,控制流会立即跳到`finally`块,执行`finally`中的代码。如果`finally`块也有`return`语句,那么它将覆盖`try`块的`return`,返回`finally`块的值。换句话说,最后...

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

    这意味着,如果在 `finally` 块中有 `return`,那么这个 `return` 将覆盖之前 `try` 或 `catch` 中的 `return`,成为函数的最终返回值。 例如,在JavaScript中,以下示例展示了 `try-catch-finally-return-in-...

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

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

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

    如果finally语句中包含了return语句,即使前面的catch块重新抛出了异常,则调用该方法的语句也不会获得catch块重新抛出的异常,而是会得到finally块的返回值,并且不会捕获异常。 在Java中,还有一个非常重要的知识...

    浅谈Java中return和finally的问题

    - 变量的修改在 `finally` 语句块中进行,如果不在 `finally` 中使用 `return`,则不会改变已由 `try` 块确定的返回值。 这些规则对于理解和编写健壮的Java代码至关重要,特别是在涉及资源管理、异常处理和程序流程...

    谈谈Java中try-catch-finally中的return语句

    在Java编程语言中,`try-catch-finally`语句块是异常处理的关键构造,它允许程序员优雅地处理可能出现的异常情况。`return`语句则用于从方法中返回一个值或者结束方法的执行。当这两者结合在一起时,就会出现一些...

    Java的throw和return

    System.out.println("执行finally块"); // 这里可以添加释放资源的操作 } } ``` 在这个示例中,如果`b`为0,则会抛出`ArithmeticException`异常。在抛出异常之前,会先执行`finally`块中的代码。 #### return与...

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

    当一个方法中出现可能抛出异常的代码时,可以将其放在try块中,catch块用来捕获并处理异常,finally块则确保某些代码无论是否发生异常都会被执行。在涉及finally和return语句时,Java有一些特定的行为规则。 首先,...

    try-catch-finally捕获异常

    finally块总是会被执行,無論try块中是否出现异常。finally块的语法结构如下: ```java finally { // 资源释放或清理操作 } ``` 四、异常处理机制 try-catch-finally语句的异常处理机制可以分为以下几个步骤: ...

    finally结构的注意点(一)

    在编程语言中,`finally` 结构是一种保证代码执行的关键构造,无论程序的其他部分是否抛出异常或者正常结束,`finally` 块中的代码总是会被执行。这对于清理资源,比如关闭文件流或者数据库连接,是至关重要的。在...

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

    从结果可以看到,finally 块中的 return 语句会覆盖 try 块中的 return 语句,try 块中的 return 语句就不能返回了。 finally 语句是在 try 的 return 语句执行之后,return 返回之前执行的。 finally 块中的 ...

    使用try-catch-finally处理异常

    4. **finally块** `finally`块是可选的,无论`try`和`catch`块中的代码是否抛出异常,`finally`块里的代码都会被执行。这通常用于资源清理,如关闭文件流、网络连接等。即使在`try`或`catch`块中有return语句,`...

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

    但是,由于 `finally` 块的存在,程序在真正返回之前会先执行 `finally` 块中的代码,即 `print('finally')`。 这意味着即使函数即将返回,`finally` 块中的代码仍然会被执行。这对于那些期望函数返回后立即退出的...

    try_catch_finally异常处理java

    即使`try`或`catch`块中存在`return`语句,`finally`块的代码也会被执行。这确保了程序的整洁和资源的有效管理。 在Java中,`try-catch-finally`结构可以单独使用,也可以嵌套使用。嵌套的`try-catch-finally`允许...

    java finally块执行时机全面分析

    这意味着,即使在`finally`块中有`return`,最终的返回值将是`finally`块中的值。 4. `finally`块的执行并不意味着一定会等到所有其他代码执行完毕。例如,如果`try`或`catch`块中有一个`return`语句,`finally`块将...

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

    可以看到,finally语句块在try语句块中的return语句之前执行。 finally语句块的执行顺序是非常重要的,需要我们认真地了解和掌握。只有在try语句块得到执行的情况下,finally语句块才会执行,而不是一定会执行的。

    try-catch-finally执行顺序验证

    try-catch-finally执行顺序验证(左边是....(2)如果finally中无return则执行return var,finally块中的操作不会影响var的值(如果var的值是对象的内存地址,则finally块的操作可以改变该对象的属性值)。 验证 1.基本类型

Global site tag (gtag.js) - Google Analytics