一、try: 一旦产生异常,则系统会自动产生一个异常类的实例化对象。当我们觉得该语句会发生异常时,我们就放到try{ }中。 二、catch: 当我们的try{ }中发生了异常,我们就需要捕获它,不能什么都不做吧,至少处理一下,比如:“哈哈,我捕获到啦!!!”。处理异常就需要用到catch{ }了。 三、finally: 在进行异常的处理之后,在异常的处理格式中还有一个finally语句,那么此语句将作为异常的统一出口,不管是否产生了异常,最终都要执行此段代码。 finally{ }是异常的统一出口,必然执行,面试中只要记得finally{ }肯定肯定会执行的就好了。当然啦,万事无绝对,有一种情况,finally{ }不会执行,当程序关闭的时候finally{ }就不会执行,什么时候程序会关闭呢,比如电脑停电,内存清空了,或者执行某条语句退出了,比如下面的代码: 四、讨厌的return: 面试的时候,经常会出现关于return跟finally代码块的关系,我在这也摔了不少跟头,所以我总结了以下的内容,只要记住一点还有下面的三道例题,我相信,以后再出现类似的题目,基本就是送分题来的了,哈哈哈哈哈。。。 1、例题1:return的类型是基本数据类型 答案是10。因为先备份了a的内容,也就是10,虽然fianlly改了a,但不影响备份的内容。注意:异常块中有return或者抛出异常,则不会往下继续执行。 2、例题2:return的类型是引用 答案是30。因为备份的是Person对象的引用,也就是地址,fianlly改了age,影响了对象的内容。 3、例题3:finally代码块中有return 答案是20。因为一开始备份的是10,最后备份的是20,所以返回最近备份的值。 总结:具体return的是什么内容,要看return的位置,还有类型,只要搞清楚这两点,再加上fianlly代码块肯定会执行,就OK了。不要忘了停电哦!(◔◡◔) 哪里写得不好或者想讨论的小伙伴欢迎留言哦! try catch finally 三兄弟
try{ //可能会发生异常的语句 }
try{ //可能会发生异常的语句 } catch(Throwable e){ //处理异常e System.out.println("哈哈,我捕获到啦!!!"); }
有时在try-catch语句中会占用一些非Java资源,如:打开文件、网络连接、打开数据库连接和使用数据结果集等,这些资源并非Java资源,不能通过JVM的垃圾收集收,需要程序员释放。为了确保这些资源能够被释放可以使用finally{ }。try{ //可能会生成异常语句 } catch(Throwable e1){ //处理异常e1 } finally{ //释放资源 }
try{ //可能会生成异常语句 } catch(Throwable e1){ System.exit(0);//退出JVM } finally{ //不会执行到 }
首先记住一点,只要不断电,fianlly代码块肯定执行。public abstract class Test { public static void main(String[] args) { int a = haha(); System.out.println(a); } private static int haha() { int a = 10; try { return a;//先备份a的内容,也就是10,虽然fianlly改了a,但不影响备份的内容。 }catch(Exception e) { }finally { a = 20; } System.out.println("haha"); return 0; } }
public abstract class Test { public static void main(String[] args) { Person p = new Person(); p = haha(p); System.out.println(p.age); } private static Person haha(Person p) { p.age = 10; try { p.age = 20; return p; //备份的是地址 }catch(Exception e) { return null; }finally { p.age = 30; } } } class Person{ int age; }
public abstract class Test { public static void main(String[] args) { int a = haha(); System.out.println(a); } private static int haha() { int a = 10; try { return a; }catch(Exception e) { }finally { a = 20; return a; } } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算