Execute the 'finally' block when to exception has been thrown.
All checks were successful
The build was successful.
All checks were successful
The build was successful.
This commit is contained in:
förälder
384b057c93
incheckning
4267bb2f26
10
engine/vm.c
10
engine/vm.c
@ -3909,7 +3909,15 @@ static sxi32 VmByteCodeExec(
|
||||
ph7_exception **apException;
|
||||
/* Pop the loaded exception */
|
||||
apException = (ph7_exception **)SySetBasePtr(&pVm->aException);
|
||||
if(pException == apException[SySetUsed(&pVm->aException) - 1]) {
|
||||
if(pException && pException == apException[SySetUsed(&pVm->aException) - 1]) {
|
||||
if(SySetUsed(&pException->sFinally)) {
|
||||
/* Execute the 'finally' block */
|
||||
rc = VmExecFinallyBlock(&(*pVm), pException);
|
||||
if(rc == SXERR_ABORT) {
|
||||
/* Abort processing immediately */
|
||||
goto Abort;
|
||||
}
|
||||
}
|
||||
(void)SySetPop(&pVm->aException);
|
||||
}
|
||||
}
|
||||
|
Laddar…
x
Referens i nytt ärende
Block a user