java异常处理:finally中不要return】的更多相关文章

java异常语句中的finally块通常用来做资源释放操作,如关闭文件.关闭网络连接.关闭数据库连接等.正常情况下finally语句中不应该使用return语句也不应该抛出异常,以下讨论仅限于java语言设计本身,正常编码时应避免. finally块中使用return会覆盖method的返回值 以下代码的返回值为:1 public static int div(){ try { ; }catch (ArithmeticException e){ System.out.println("catch…
Java 异常处理中的返回值在不同位置不同场景下是有一些差别的,这里需要格外注意 具体分以下两种场景: 1 finally语句块没有return语句,即当代码执行到try或者catch语句块中的return语句时,相当于在本地保存了一份此时返回值的变量的值副本,然后按照try catch finally的运行机制去执行finally语句块,然后回过来将刚刚保存的副本数据返回 第一个例子为在try中没有异常,直接走到try语句块中的return场景 public class Test01 { pu…
在使用java异常处理机制时候我们会发现有些异常抛出后可以不需要进行抓取处理,而有些异常必须要进行抓取处理,这是个什么情况呢? 设计理念猜想:      有一些场景的异常,是可以不需要处理或是经常不会去使用备选方案的,比如Error大多用于程序错误直接终止程序运行,那么你的备选方案根本无用,在比如RuntimeException 这些异常都是由于程序在运行时候出现的程序错误可以说就是传说中的bug,是通过修改程序后可以避免的.那么也不需要进行抓取处理选择备选方案. 所以: 对于Error 类以及…
1.当除数是非0,除法运算完毕,程序继续执行. 2.当除数是0,程序发生异常,并且除法运算之后的代码停止运行.因为程序发生异常需要进行处理. class Demo { public static void main(String[] args) { div(2, 0); System.out.println("over"); } public static void div(int x, int y) { //该行代码的y值可能是0,程序会出现异常并停止 System.out.prin…
java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字.   try 关键字后紧跟一个花括号括起来的代码块,简称try块.同理:下面的也被称为相应的块.   它里面可置引发异常的代码.catch后对应异常类型和一个代码块,用于表明catch块用于处理这种类型的代码块.后还可以跟一个finally块,finally块用于回收在try块里打开的物理资源,异常机制会保证finally块总被执行.throws关键字主要在方法签名中使用,用于声明该方法可能抛出…
java异常处理:finally中不要return 复制代码 public class Ex1 { public static void main(String[] args) { System.out.println(Ex1.getResult()); } public static int getResult(){ int a =100; try{ return a+10; //注意,java的基础数据类型是值传递,这里的返回值已经和上面的a没有关系了 }catch(Exception e)…
finally 语句块中, 最好不要使用return, 否则会造成已下后果; 1, 如果catch块中捕获了异常, 并且在catch块中将该异常throw给上级调用者进行处理, 但finally中return了, 那么catch块中的throw就失效了, 上级方法调用者是捕获不到异常的. 见demo如下: public class TestException { public TestException() { } boolean testEx() throws Exception { bool…
问题分析  首先来问大家一个问题:finally 语句块一定会执行吗? 很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员.可惜并不像大多人所认为的那样,对于这个问题,答案当然是否定的,我们先来看下面这个例子.清单 1. public class Test { public static void main(String[] args) { System.out .println("return value of test(): " + te…
针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同样也提供了抛出异常.捕捉异常和finally语句的使用来处理程序异常,下面就来具体看一下Java中的异常处理用法及其架构和使用建议: Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性.在有…
一.Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Throwable还有一个子类Error . Error 用来指示运行时环境发生的错误. 异常类有两个主要的子类:IOException 类和 RuntimeException 类. JAVA异常与异常处理提示:传送门 测试 1.抛出java.lang.ArithmeticException异常 packa…