黑马程序员技术交流社区
标题:
Java基础--Exception使用陷阱(1)
[打印本页]
作者:
michael_wlq
时间:
2015-9-1 11:32
标题:
Java基础--Exception使用陷阱(1)
本帖最后由 michael_wlq 于 2015-9-1 11:37 编辑
在异常处理过程中,throw单独存在时,throw语句下面不能再定义执行语句,因为执行不到会编译报错。
【注意】
类似的还有continue、break、return等,这些语句后面都不能直接再添加语句。
示例1:
class Demo {
public static void main(String[] args) {
try {
/*把异常封装成一个单独的showExce()方法,该方法可能会抛出异常,也可能不抛出,
所以后面的语句可以正常执行,
该程序的输出结果为:BCD
*/
showExce();
System.out.print("A");
} catch(Exception e) {
System.out.print("B");
} finally {
System.out.print("C");
}
System.out.println("D");
}
public static void showExce()throws Exception {
throw new Exception();
}
}
----------------------------------------------------------------------------------------------------------------------------
示例2:
class Demo {
public static void func() {
try {
//该语句肯定会抛出异常,下面的语句肯定不会得到执行,所以会编译失败。
throw new Exception();
System.out.println("A");
} catch(Exception e) {
System.out.println("B");
}
}
public static void main(String[] args) {
try {
func();
} catch(Exception e) {
System.out.println("C");
}
System.out.println("D");
}
}
//编译失败。 因为打印“A”的输出语句执行不到。
记住:throw单独存在,下面不要定义语句,因为执行不到。
作者:
SYAD
时间:
2015-9-1 11:45
不错 赞一个
作者:
michael_wlq
时间:
2015-9-1 12:02
SYAD 发表于 2015-9-1 11:45
不错 赞一个
加油 加油
作者:
三分之一
时间:
2015-9-1 14:50
学习了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2