execution resumes when an exception is caught, that is, at the beginning of a block catchthat specifically addresses the current type of exception. the catch block is executed, other catch blocks are ignored (think of a multiple block catchas a switch statement). in some languages, a block finallycan also be executed after catch. then the program will continue the next command after all try ... catch ... finally ....
you should notice that if the exception does not fall into the block, the exception extends to the calling function of the current function and up to the call stack until catchit throws the exception. in this case, you can think of function calls, such as a macro: insert the code of each function where it is called, and you will clearly see the attachment of all the blocks try .. catch ... finally ....
, . ( ).
, . try ... catch ... finally ...: finally , finally a catch ( try 2), (catch (...) ++), .