A
C
D
# traceback.print_exception(None, exc, exc.__traceback__) from library
B (??)
It seems to occur when the exception is caught by the library-internal exception handler, rather than when the exception is caught by user code.
edited to reflect additional testing
So maybe this is intended behavior? It was confusing that the exceptioned-task was interrupted, but the exception wasn't printed until after other tasks had run. I thought I had a case where print("B") would show up later after the library traceback, but now I'm not sure.
Addendum: When the library catches routine development bugs like this (syntax errors, type errors), but everything continues to operate, it can mask problems with the user code.
Placeholder for now, until I can come up with a minimum reproducible example.
Not sure if this belongs here, or in
circuitpython
.Occurs in 7.3.3 and 8.0.0-beta.5.
Basic scenario:
Output:
It seems to occur when the exception is caught by the library-internal exception handler, rather than when the exception is caught by user code.
edited to reflect additional testing
So maybe this is intended behavior? It was confusing that the exceptioned-task was interrupted, but the exception wasn't printed until after other tasks had run. I thought I had a case where
print("B")
would show up later after the library traceback, but now I'm not sure.Addendum: When the library catches routine development bugs like this (syntax errors, type errors), but everything continues to operate, it can mask problems with the user code.