动手动脑和实验性问题总结

动手动脑1
异常处理结构
Java 使用 try-catch-finally 结构来处理异常:
try 块:包含可能抛出异常的代码
catch 块:捕获并处理特定类型的异常
finally 块:无论是否发生异常都会执行的代码

动手动脑2
CatchWho运行结果
ArrayIndexOutOfBoundsException/内层try-catch
发生ArithmeticException
CatchWho2运行结果
ArrayIndexOutOfBoundsException/外层try-catch

即使内层处理了异常,外层的 finally 块仍然会执行
如果没有异常传播到外层,外层的 catch 块不会执行
finally 块的执行与是否发生异常无关

finally 块不一定会执行,当调用 System.exit() 时,它会阻止 finally 的执行。

从最内层try块开始执行

代码按顺序执行,直到遇到异常或完成所有语句
如果抛出异常,Java虚拟机会查找匹配的catch块
异常匹配与捕获

首先在当前层的catch块中查找匹配的异常类型
如果找到匹配的catch块,执行该块中的代码
如果没有找到匹配的catch块,异常会向上一级传播
finally块执行

无论是否发生异常,finally块都会执行
即使在catch块中有return语句,finally块也会在return前执行
异常传播

如果当前层级无法处理异常,它会传播到外层try-catch结构
这个过程会一直持续,直到异常被处理或到达JVM默认异常处理器

posted @ 2025-10-29 18:20  clo3o  阅读(11)  评论(0)    收藏  举报