throw exception outside of syncexec block