关键字;在它们所包括的代码块内,如果发生错误,将对错误进行响应。如果 try 代码块内的任何代码抛出了一个错误(使用 throw 动作),控制将传递到 catch 代码块(如果有),然后传递到 finally 代码块(如果有)。无论是否有错误被抛出,finally 代码块都会执行。如果 try 代码块内的代码未抛出错误(也就是说,如果 try 代码块正常完成),则仍会执行 finally
代码块内的代码。即使 try 代码块使用 return 语句退出,finally 代码块仍会执行。
*catch 中抛出的异常要在finally执行完才会执行抛出的动作,所以如果在finally中使用return后catch 中抛出的异常,就没办法抛出去,演示代码:
======================
try 代码块后面必须跟有 catch 代码块、finally 代码块,或两者都有。一个 try 代码块可以有多个 catch 代码块,但只能有一个 finally 代码块。您可以根据需要嵌套多层try 代码块(层数没有限制)。
在 catch 处理函数内指定的 error 参数必须为一个简单的标识符,例如,e 或theException 或 x。您还可以为 catch 处理函数中的变量指定类型。如果指定了不同的错误类型,再结合使用多个 catch 代码块,可以捕获从一个 try 代码块抛出的多种类型的错误。
抛出的异常是对象时,如果抛出的对象是指定类型的一个子类,则类型将匹配。如果抛出的是特定类型的错误,将执行处理相应错误的 catch 代码块。如果抛出的不是指定类型的异常,则不会执行 catch 代码块,而会自动将该异常从 try 代码块抛出到与其相匹配的 catch 处理函数。
如果在某个函数内抛出了错误,而该函数中没有 catch 处理函数,则动作脚本解释器退出该函数以及任何调用函数,直到找到一个 catch 代码块。在此过程中,在各层上都会调用 finally 处理函数。
本文详细介绍了try、catch、finally语句在异常处理中的应用。探讨了如何通过这些关键字来控制程序流,确保代码健壮性,并展示了当try代码块抛出异常时,catch与finally的执行顺序。

被折叠的 条评论
为什么被折叠?



