fix oneshot exception handling