Execute the 'finally' block when to exception has been thrown.
The build was successful.
Details
The build was successful.
Details
This commit is contained in:
parent
384b057c93
commit
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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue