(KED-1516) Stop kedro-viz from swallowing stacktraces #142
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.
Description
I'm a little uneasy about my approach here, so would welcome comments. Also, I guess this only prints stacktraces for generic exceptions and not for exceptions that are already
KedroCLIError
's (from_call_viz
) -- should I do it there too?When there's an underlying generic exception (e.g in your pipeline file, missing a comma or some syntax issue) kedro-viz silently prints something like
Error: invalid syntax (pipeline.py, line 64)
without the (sometimes helpful) stacktrace.Development notes
Use
traceback
to print the stacktrace before continuing with theKedroCLIError
. Sadly the usualraise a from b
trick doesn't work here because of the wayclick
handles exceptions (and our customKedroCLIError
inherits fromclick.Exception
).QA notes
Added a test that makes sure that the traceback is printed when
_call_viz
returns aValueError
.Checklist
RELEASE.md
fileLegal notice
I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":
I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.