Use try-finally to ensure filter_output
is unregistered
#278
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issue
Azure/azure-cli#27228
Description


If
query_expression.search
raises an Exception, the following linecli_ctx.unregister_event(EVENT_INVOKER_FILTER_RESULT, filter_output)
won't be executed, and the callback with error remains in the_event_handlers
.Az Interactive uses the same
cli_ctx
for every command execution, so if there is an exception related to--query
, it will keep happening for any subsequent commands.