异常捕获机制
来源:互联网 发布:软件机器人 编辑:程序博客网 时间:2024/06/16 19:43
1、try-catch-finally执行顺序
public static int MyException() { int i = 10; try { System.out.println("try block:" + i);// 10 return --i;// 9,存入临时栈 } catch (Exception e) { System.out.println("catch block:" + i); return --i; } finally { System.out.println("finally block:" + i);// 9 return --i;// 8,返回 }}
public static void main(String[] args) { System.out.println("my exception is: " + MyException());}
输出:
try block:10finally block:9my exception is: 8
try块未发现异常,则执行finally块,即try-finally。
public static int MyException() { int i = 10; try { int a = 1 / 0;// 发生异常,直接转至catch System.out.println("try block:" + i);// 不执行 return --i;// 不执行 } catch (Exception e) { System.out.println("catch block:" + i);// 10 return --i;// 9,存入临时栈 } finally { System.out.println("finally block:" + i);// 9 return --i;// 8,返回 }}
输出:
catch block:10finally block:9my exception is: 8
try块抛出算术异常,立刻跳入catch块,然后执行finally,即try-catch-finally。
对于语句中的return语句,为执行finally块之前,return的值都存放在临时栈中,只有执行完finally之后,才真正的返回。
public static int MyException() { int i = 10; try { System.out.println("try block:" + i);// 10 return i--;// 10,存入临时栈,然后--,i变为9 } catch (Exception e) { System.out.println("catch block:" + i); } finally { System.out.println("finally block:" + i);// 9 }}
最终返回10
2、finally不会被执行的情况
1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。
3、throws和throw
1)throws
throws语句用在方法定义时,声明该方法要抛出的异常类型。
2)throw
throw总是出现在函数体中,用来抛出一个Throwable类型的异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。
阅读全文
0 0
- 异常捕获机制
- 异常捕获机制
- 异常捕获机制
- 黑马程序员--异常捕获机制
- struts2 进阶--异常捕获机制
- 异常捕获机制中的return
- spring MVC异常捕获机制
- Android全局异常捕获机制
- 浅析lua异常捕获处理机制
- javascript中的try catch异常捕获机制
- <1>JAVA对异常的捕获机制
- java异常处理机制示例(java抛出异常、捕获、断言)
- java异常处理机制示例(java抛出异常、捕获、断言)
- 异常捕获
- 捕获异常
- 异常捕获
- 捕获异常
- 异常捕获
- java异常体系及注意事项
- 《Java编程思想》转型与警告
- C语言 常犯的九个小错误
- 学习Java小结-3
- Kotlin一步一个脚印学习基础一
- 异常捕获机制
- 学习javascript闭包
- POj
- java练习题1
- DBConnect
- Hbase伪分布式配置
- Linux下修改权限命令
- 谷歌三大核心技术(一)Google File System中文版
- 后缀自动机详解