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

finallly语句警告

 
阅读更多
当finall块中包含return语句时,Eclipse会给出警告“finally block does not complete normally”,原因分析如下:

1、不管try块、catch块中是否有return语句,finally块都会执行。
2、finally块中的return语句会覆盖前面的return语句(try块、catch块中的return语句),所以如果finally块中有return语句,Eclipse编译器会报警告“finally block does not complete normally”。

3、如果finally块中包含了return语句,即使前面的catch块重新抛出了异常,则调用该方法的语句也不会获得catch块重新抛出的异常,而是会得到finally块的返回值,并且不会捕获异常。

 

结论,

finally 内部使用 return 语句是一种很不好的习惯,如果try中还有return语句,它会覆盖了try 区域中 return 语句的返回值,程序的可读性差


面对上述情况,其实更合理的做法是,既不在 try block 内部中使用 return 语句,也不在 finally 内部使用 return 语句,而应该在 finally 语句之后使用 return 来表示函数的结束和返回


 

分享到:
评论

相关推荐

    sql语句万能生成器,sql语句,sql语句生成

    SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...

    java的控制语句(条件语句 循环语句 转移语句)

    Java 控制语句详解 Java 控制语句是 Java 语言中一种基本的控制结构,用于控制程序的执行流程。控制语句可以分为三大类:条件语句、循环语句和转移语句。本文将详细介绍 Java 语言中的控制语句。 一、条件语句 ...

    根据以下语句查询执行消耗CPU大的sql语句.docx

    根据语句查询执行消耗CPU大的SQL语句 在 SQL Server 中,查询执行消耗 CPU 大的语句对于系统性能的优化至关重要。在这个文档中,我们将学习如何使用三个语句来查询执行消耗 CPU 大的 SQL 语句。 语句一:根据...

    VHDL本性语句与顺序语句的理解

    ### VHDL中的并行语句与顺序语句详解 #### 并行语句与顺序语句的概念 在VHDL编程语言中,并行语句与顺序语句是两种基本的控制结构,它们分别用于描述并发行为和顺序行为。正确理解和应用这两种语句对于设计高效的...

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    C语言if语句PPT课件.pptx

    本资源摘要信息是关于C语言if语句的PPT课件,介绍了if语句的基本概念、功能模型、代码模型和各种类型的if语句,包括基本的if语句、if-else语句和if-else if-else语句,并提供了多个实例来帮助学习者更好地理解和掌握...

    C语言switch语句学习教案.pptx

    C语言switch语句学习教案 switch 语句是 C 语言中处理多路选择问题的一种更直观和有效的手段。在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。当然可以使用嵌套的 if , if else 语句来处理,但其...

    mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql in

    mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql ...

    pb基本循环语句详解

    【PB基本循环语句详解】 在PowerBuilder (PB)编程中,循环语句是不可或缺的部分,它们用于重复执行一段代码,直到满足特定条件为止。在提供的描述中,虽然没有直接涉及循环语句,但可以看到一些基础的PowerScript...

    sql语句说明sql语句说明sql语句说明.zip

    sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...

    python 中循环语句及if语句的简单练习和答案.pdf

    Python循环语句及if语句的简单练习和答案 本篇资源总结了 Python 中循环语句及 if 语句的简单练习和答案,涵盖了 while、if、for 语句的基本使用和实践。通过这些练习和答案,读者可以深入了解 Python 编程语言的...

    SQL控制语句集锦SQL语句集锦

    SQL 控制语句集锦 SQL 语句集锦是数据库管理系统中最基本也是最重要的一部分,它提供了多种控制语句来对数据库进行操作和管理。在本篇文章中,我们将对 SQL 控制语句集锦进行详细的介绍,包括 DISTINCT、WHERE、IN ...

    matlab 循环语句与条件语句

    Matlab 循环语句与条件语句 Matlab 中的循环语句与条件语句是编程语言中最基本、最重要的控制结构,它们可以控制程序的执行流程,实现不同的逻辑操作。本文将介绍 Matlab 中的四种主要控制结构:if-else 语句、...

    Oracle导出INSERT语句

    在数据库管理中,有时我们需要将数据从一个环境迁移到另一个环境,或者备份某些表的数据,这时“Oracle导出INSERT语句”的工具就显得非常实用。 这个小工具的核心功能是将Oracle数据库中的数据转换为一系列的INSERT...

    JS分类语句大全

    本文将详细介绍JavaScript语言中各种分类语句的用法和特点,包括赋值语句、return语句、条件分支语句、循环语句、对象操作语句、注释语句、函数定义语句等。 1. 赋值语句:var var语句声明了一个变量的名称,同时也...

    java 循环语句练习

    本文档对 Java 循环语句的练习题进行了整理,包含了多种循环语句的使用场景,例如 for 循环、嵌套循环等。通过实践这些练习题,可以更好地理解和掌握 Java 语言中的循环语句。 一、循环语句的基本概念 循环语句是...

    SQL语句语法

    SQL语句是结构化查询语言(Structured Query Language)的简称,是用于管理和处理关系数据库的标准语言。本篇文章将深入探讨SQL语句的基本语法,包括数据定义、数据操作、实用工具、事务处理和锁定、数据库管理、...

    生成UPDATE语句

    ### 生成UPDATE语句 本篇文章将详细介绍如何根据指定的表结构来生成更新语句(UPDATE SQL),并特别关注基于主键更新的情况。这在Oracle数据库管理与开发中是一项非常实用的技术,尤其对于那些需要频繁更新数据库...

    自动生成insert语句的工具

    标题中的“自动生成insert语句的工具”是指一类软件或应用程序,它们能够帮助数据库管理员或开发者快速、方便地生成用于插入数据的SQL INSERT语句。这类工具通常用于将已有的数据库数据导出为INSERT语句,以便在其他...

    Python语句实现Mysql多条插入语句

    本代码,用python语句,实现了一次插入多条sql语句。希望能对大家带来帮助。

Global site tag (gtag.js) - Google Analytics