文章插图
try(java关键字)Java关键字
用于try..catch..finally块,进行异常捕获 。
基本介绍中文名:尝试
外文名:try
套用:用于捕获异常
基本信息名称:try用法:try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常完整的使用方法是try { 语句块1} catch (<? extends Throwable> e) { 语句块2.1} catch (<? extends Throwable> e) { 语句块2.2} catch (<? extends Throwable> e) { 语句块2.3...} finally { 语句块3}catch可以出现0次、1次或多次,finally可以出现0次或1次,但是catch和finally不能同时不出现 。catch用法:当语句块1中抛出异常时,立即离开语句块1,之后会在所有catch中依次进行类名比对 。如果抛出异常和catch声明的异常类名一致,或抛出异常是catch声明的异常的子类,则会进入该catch的语句块(成为异常的捕获),在catch的语句块中可以将异常输出到命令行或引导用户进行问题反馈 。如果任何一个catch都不匹配,会像上层调用抛出这一异常(在此之前会进入finally语句块,详情参考下面的finally用法) 。finally用法:在语句块1、语句块2中,任何试图离开try..catch..finally块的语句都会导致语句块3被执行,如return throw break continue 。在finally的语句块中可以进行记忆体回收等工作 。需要注意的是,如果导致离开的不是语句造成的,而是断电、记忆体不足等计算机故障,finally语句块不会被执行 。例子:public class Test { public static void main(String[] args) { int i = 10; try { System.out.println(i / 0); } catch(ArithmeticException ame) { ame.printStackTrace(); } finally { System.out.println("byebye"); } }}作用关係try..catch..finally块和return的作用关係不易于理解 。在这里catch中的return语句和try中的return语句相似,因此只讨论try..finally的情况例1:private int a = 0;private static int c1() { try { return 1; } finally { a++; }}函式返回1,1次调用后a的值为1这是因为在函式返回之前finally语句块会被执行例2:private static int c2() { try { return 1; // unreachable statement } finally { return 2; }}函式返回2这是因为在函式返回之前finally语句块会被执行,因此return 2;会早于return 1;Intellij IDEA等深度IDE中会提示unreachable statement例3:private int a = 0;private static int c3() { try { return a + 10; } finally { a++; }}
- 04747Java语言程式设计
- 第7版 Java程式设计与问题求解
- Java 7程式设计
- country怎么读 country如何读
- 工业机械
- try怎么读 try的读音
- Java7程式设计入门经典
- 第2版 基于工作过程的Java程式设计
- Java软体结构与数据结构
- JavaEE基础教程实验指导与习题解析