Execute the 'finally' block when to exception has been thrown.
Все проверки выполнены успешно
The build was successful.
Все проверки выполнены успешно
The build was successful.
Этот коммит содержится в:
родитель
384b057c93
Коммит
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);
|
||||
}
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user