try catch return语句情况分析

简介: 简要讲述一下try catch代码中return语句返回值情况分析

try catch

try catch语法是一种对应于异常处理的语句,其中try语句内用于编写有异常存在可能的语句,而catch语句内用于编写捕获到异常的类型以及对异常对象的处理方法,本文主要以java语言为示例来演示try catch语句关于return情况的分析。

示例代码如下,后续的测试都会基于当前代码改动测试

publicclassDemoController {
publicstaticvoidmain(String[] args) {
Stringtest=test();
System.out.println(test);
    }
staticStringtest() {
Stringres=null;
try {
//int i = 1/0;res="one";
        }catch (Exceptione) {
e.printStackTrace();
res="two";
        }finally {
res="three";
        }
returnres;
    }
}

无finally语句

下面开始讨论对应的情况:

1.无异常,try语句正常执行,结果返回try语句中的赋值数据,执行结果如下

image.png

2.有异常,执行catch中的赋值语句,打印异常信息,返回catch中赋值数据,执行结果如下

image.png

有finally语句

1.无异常,因为finally中有赋值,所以返回finally中赋值数据,执行结果如下

image.png

2.有异常,打印错误信息,同时因为finally中有赋值,所以返回finally中赋值数据,执行结果如下

image.png

最后

由于try catch finally结构中finally中代码一定会执行,因此建议不要在finally中放置返回数据的赋值语句,如果finally中有当前方法返回的最后数据赋值语句的话,那么即使try语句中业务代码执行成功,返回的赋值信息仍然不是业务需要的数据。

相关文章
|
Java Spring
【注解】Spring AOP 面向切面编程之@Around的详细用法
【注解】Spring AOP 面向切面编程之@Around的详细用法
2980 0
|
8月前
|
编译器 Android开发 开发者
Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
Lambda表达式和匿名函数都是Kotlin中强大的特性,帮助开发者编写简洁而高效的代码。理解它们的区别和适用场景,有助于选择最合适的方式来解决问题。希望本文的详细讲解和示例能够帮助你在Kotlin开发中更好地运用这些特性。
138 9
|
10月前
|
监控 Java
线程池大小如何设置
在并发编程中,线程池是一个非常重要的组件,它不仅能够提高程序的响应速度,还能有效地利用系统资源。合理设置线程池的大小对于优化系统性能至关重要。本文将探讨如何根据应用场景和系统资源来设置线程池的大小。
|
12月前
|
安全 Java 大数据
Java并发编程实战指南
在Java开发中,随着多核处理器的普及,并发编程已经成为提升应用程序性能的重要手段。本文将深入探讨Java并发编程的核心概念和技术,包括线程、锁、原子变量以及并发工具类等,并通过实际案例展示如何在Java中有效地实现并发控制和同步管理。
371 0
|
Java
Java 中 MessageFormat.format 用法
Java 中 MessageFormat.format 用法
314 1
|
Java 测试技术
【Java】已解决java.util.concurrent.CancellationException异常
【Java】已解决java.util.concurrent.CancellationException异常
523 0
|
存储 Java
JAVA中String长度限制解决超出字符长度
JAVA中String长度限制解决超出字符长度
305 1
|
前端开发 Java
SpringBoot之三层架构的详细解析
SpringBoot之三层架构的详细解析
3134 0
|
缓存 网络协议 Java
深入理解 Java 中的 InputStream:输入流的奥秘解析
在 Java 编程中,输入流(InputStream)是一个重要的概念,它为我们提供了一种从数据源读取数据的方式。无论是读取文件、网络数据还是其他数据源,InputStream 都是不可或缺的工具。本文将带您深入探索 Java 中的 InputStream,解析其原理、用法以及在实际开发中的应用
|
XML SQL Java
Intellij IDEA Mybatis plugin插件破解安装
Intellij IDEA Mybatis plugin插件破解安装
1064 0
Intellij IDEA Mybatis plugin插件破解安装