try catch finally执行顺序
时间: 2023-04-24 21:01:11 浏览: 72
try-catch-finally语句的执行顺序如下:
1. try块中的代码会被首先执行。
2. 如果try块中的代码没有引发任何异常,那么catch块就不会执行,程序会直接跳到finally块执行。
3. 如果try块中的代码引发了异常,程序会跳到与该异常类型匹配的catch块中执行。
4. catch块执行完毕后,程序会继续执行finally块中的代码。
5. 如果finally块中没有return语句,程序会继续向下执行。
6. 如果finally块中有return语句,会覆盖掉try块或catch块中的return语句,导致程序返回finally块中的值。
需要注意的是,如果try块和catch块中都有return语句,finally块中的return语句只会覆盖掉try块或catch块中的return语句, 不会影响到try块或catch块之间的执行顺序。
相关问题
try catch finally 执行顺序
try语句块中的代码首先被执行,如果在执行过程中没有发生异常,那么catch语句块将被跳过,finally语句块将在try语句块执行完毕后被执行。如果在try语句块中发生了异常,那么try语句块中抛出异常的代码后面的代码将被跳过,catch语句块将被执行,如果catch语句块中没有throw语句抛出新的异常,则finally语句块将在catch语句块执行完毕后被执行。如果catch语句块中有throw语句抛出新的异常,则finally语句块将在新的异常被抛出后被执行。无论try语句块中是否发生异常,finally语句块中的代码都将被执行。
C++ try catch finally执行顺序
在C++中,try-catch-finally语句块的执行顺序如下:
1. 首先执行try语句块中的代码;
2. 如果try语句块中的代码抛出了异常,则跳转到与之匹配的catch语句块;
3. 执行catch语句块中的代码;
4. 如果catch语句块中的代码没有重新抛出异常,则执行finally语句块中的代码;
5. 最后结束整个try-catch-finally语句块。
需要注意的是,如果在catch语句块中重新抛出了异常,则finally语句块中的代码仍然会被执行。
阅读全文