好像在 java 面试的时候关于异常的内容都是必问的东西,这里就不介绍有关异常的接口和主要的类了,也不讨论性能问题,就简单总结下 try...catch...finally 在一个方法作用域内的使用。
1,一个方法内可以有多个 try...catch...finally 语句块,还可以彼此嵌套;
public static String TestTry() { try { try { } catch (Exception e) { // TODO: handle exception } finally { } } catch (Exception e) { try { } catch (Exception e2) { // TODO: handle exception } finally { } } finally { try { } catch (Exception e2) { // TODO: handle exception } finally { } } try { } catch (Exception e) { // TODO: handle exception } finally { } return "return"; // 这里必须写 }
2,如果一个有返回值的方法内有多个 try...catch...finally 语句块,return 语句要么写在任意一个 try...catch 内,要么写在方法的最后,否则编译无法通过,如果 return 语句写在方法的最后,那么以上 try...catch...finally 语句中的 每一个 finally 块内的代码都将会执行;
public static String TestTry2() { try { //return "hello1"; } catch (Exception e) { // TODO: handle exception } finally { System.out.println("final1"); } try { //return "hello2"; } catch (Exception e) { // TODO: handle exception } finally { System.out.println("final2"); } return "hello3"; // 这里必须写 }
3,无论方法内是否发生异常(jvm 可以处理的异常),finally 块内的代码都将会执行。
public static String TestTry3() { try { return "hello"; //return String.valueOf(9/0); } catch (Exception e) { // TODO: handle exception } finally { System.out.println("final"); } return "re"; // 这里必须写 }
相关推荐
38、try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不 会被执行,什么时候被执行,在 return 前还是后? .................................................... 25 39、下面的程序...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...
try 、finally 、catch 什么是 Error 内部类 创建内部类集合 Iterable 接口顶层接口 ArrayList Vector LinkedList 类Stack HashSet TreeSet LinkedHashSet 类 PriorityQueue HashMap TreeMap 类 LinkedHashMap 类 ...
77.try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 78.常见的异常类有哪些? 八、网络 79.http 响应码 301 和 302 代表的是什么?有什么区别? 80.forward 和 redirect 的区别? 81.简述 tcp...
34. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 11 35. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 11 36...
77. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 36 78. 常见的异常类有哪些? 38 八、网络 39 79. http 响应码 301 和 302 代表的是什么?有什么区别? 39 80. forward 和 redirect 的...
31. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 16 32. 应用服务器与WEB SERVER的区别? 16 33. BS与CS的联系与区别。 16 34. 启动一个...
画圆,画椭圆还是画矩形的方法,它们都有一个相同的方法名,但以不同的方式完成他们的 画圆的功能。 1.8 类和对象 1.8.1 类 类是组成 Java 程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的 原型...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
43.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 答:会执行,在return前执行。 44.两个对象值相同(x.equals(y) == true),但却可有不同...
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 39、下面的程序代码输出的结果是多少? 40、final, finally, finalize的区别。 41、...
C、有继承关系的异常不能在同一个 try 程序段内 D、先有子类,其他如何排列都无关 11.计算机中的流是? A、流动的字节 B、流动的对象 C、流动的文件 D、流动的数据缓冲区 12.以下哪个是java.io包中的一个兼有...
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 27 39、下面的程序代码输出的结果是多少? 28 40、final, finally, finalize的区别。 30 ...
//创建一个语法分析器 IndexWriter iwriter = null; Directory directory = null; try { directory = FSDirectory.open(destDir); //把索引文件存储到磁盘目录 //创建一个IndexWriter(存放索引文件的目录...
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 25 39、下面的程序代码输出的结果是多少? 25 40、final, finally, finalize的区别。 27 ...
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 25 39、下面的程序代码输出的结果是多少? 25 40、final, finally, finalize的区别。 27 ...