The CHECK_EXCEPTION() was done at a point where the old opline is still used, thus redirecting the write to the result var into EX(call) instead. Handling the exception in-place to avoid leaking result.