首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java中try-finally块的执行顺序

本文主要介绍的关于异常处理的时候try-catch-finally块的执行顺序,一般情况下,finally块是会执行,在Java中,try-finally块的执行顺序通常遵循以下规则: try块中的代码首先被执行...finally块中的代码执行完毕后,整个try-finally块结束,控制流将继续到下一个语句或代码块。...("s:"+s); } } } 运行结果:看到运行结果是不是很惊讶呢,最终结果为什么不是b呢 原因:try-finally块中try有return语句,但是执行完毕之后没有立即返回,因为要执行...如果finally中没有return语句,不管怎么改变变量,返回结果还是try块改变的值。...总结: finally语句在try和catch语句中的return执行后、返回前执行; 若finally语句中没有return,则其执行结果不影响try和catch中已确定的返回值; 若finally语句中有

25950

Java API设计 - RESTful之统一返回格式

RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。...场景 API 统一返回参数 对于实际开发很重要 可规范API接口格式 便于统一调取或做封装 对于第三方调用很友好 也是最重要的一点(不会被第三方调用者评论,你这API设计的真”辣鸡“,简直没法看!)...分析 继承与HashMap,所以返回统一返回参数本身也就是一个Map,并且实现 于Serializable可反序列化。...import com.fasterxml.jackson.annotation.JsonIgnore; import org.springframework.http.HttpStatus; import java.io.Serializable...; import java.util.HashMap; import java.util.Map; /** * 统一返回参数 * * @date 2020年5月15日10:40:54 * @

1.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    返回栈空间地址 问题

    当我们返回栈空间地址时会报错,为什么呢?那让我们先看一下什么是返回栈空间地址? 下面是错误示范: vs2022版演示  出现问题,不要慌,那我们就先调试一下。...正好str也是一个指针,正好接收地址,再打印str 按理来说没什么问题啊,但为什么会打印 烫烫烫烫烫烫烫烫呢?...那有同学会问,如果返回的不是地址,是一个变量,能不能这样做呢?...答案是肯定哒,yes  上面就是栈空间地址问题的讲解,总结一下简单可以理解为,函数调用如果返回值为一个局部地址,就会出错,除非返回变量,或加上static修饰。...另外加一个知识点,如果空间是在堆区上开辟的,堆区只有  free来释放空间,所以不存在返回占栈空间地址问题。

    13520

    java内部类的作用(一)----解决函数参数返回的问题

    我们知道一个函数只有一个返回值,如果当返回很多数据的时候,这个返回值是需要处理的,也就是返回值的类型(数组或者自定义类来解决) 当我们要处理做一个处理的时候,需要返回两个以上的参数的时候...,就可以用内部类解决这个问题 而如果此时这个作为返回值的内部类不需要引用外围类对象的话,就可以加上STATIC  静态内部类  取消产生内部类的作用 因为内部类对象总有一个隐式引用,它指向了创建它的外部对象...也就是有这样一个特性: 静态内部类的对象除了没有对生成它的外围类对象的引用特权外,与其他所有内部类完全一样 接下来我们看看java技术核心提供的代码: 内部类: package org.innerclass.operate

    1.5K20

    java:函数--返回多个值

    参考链接: 用Java返回多个值 在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!!   ...网上这个问题的解决方法:   1、【使用集合类】使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看。   ...问题:不实用。   3、【使用封装对象】通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”,觉的不优雅。   ...import java.util.HashMap;import java.util.Map;public class Test {    /**     * 方法1:使用集合类 (Map以外的集合类也可以随意使用...;import java.util.Map;import java.util.Map.Entry;enum Operate{    ADD, UPDATE, DELETE; }public class

    2.6K30

    返回json & 通用返回值设计 | SpringMVC系列第8篇

    3 个步骤 step1:maven 配置引入 jackjson jackjson 用于将 java 对象转换为 json 格式的字符串,也可以将 json 格式的字符串转换为 java 对象 我们的接口需要将...java 对象转换为 json 格式的字符串输出到客户端,所以我们需要用到这个包。...此时只需要在这个方法上面添加一个@ResponseBody注解,SpringMVC 发现这个方法上有@ResponseBody这个注解,并且方法返回值是一个普通的 java 对象的时候,会将方法的返回值使用...4、restfull 接口通用返回值 客户端调用服务器端接口的时候,接口有可能会发生异常,这些异常信息需要返回给调用者,通常我们会为错误定义错误码以及提示信息。.../> 掌握通用接口返回值的用法

    60140

    为什么effective java 第三版推荐使用try-with-resources代替try-finally

    背景 try-finally 这个语句想必做java的同学都不陌生吧,每当我们有关闭资源的需求我们都会使用到try-finally这个语句,比如我们在使用锁的时候,无论是本地的可重入锁还是分布式锁都会有下面类似的结构代码...的时候对文件流和数据库连接池做close的时候一些教学的文章都是这么教学的,那么这个哪里有问题呢?...,但是还有两个问题没有解决: 带来的第一个问题就是如果我们有不止两个资源,比如有十个资源,难道需要让我们写十个嵌套的语句吗?...try-with-resources 上面我们介绍了两个问题,于是在java7中引入了try-with-resources的语句,只要我们的资源实现了AutoCloseable这个接口那么我们就可以使用这个语句了...: 首先第一个问题,我们通过这样的方式,代码非常整洁,无论你有多少个资源,都可以很简洁的去做。

    79820
    领券