python-dependency-injector
python-dependency-injector copied to clipboard
Better error handling #509
Add providers log on error.
@rmk135 Please review PR. I'll not sure about it.
Here - https://github.com/ets-labs/python-dependency-injector/pull/510 - you write that after reraise exception all exceptions will be just general 'Exception'.
I test my code by adding addition try here
src/dependency_injector/providers.pxd
line 582
try: return call(*args, **kwargs) except Exception as exception: raise exception
and receive type of Exception was TypeError (I used this demo https://github.com/ets-labs/python-dependency-injector/blob/master/examples/demo/with_di.py without env var timeout - so error was - TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType')
Also, I'm not sure about printing providers, Maybe we can log them somewhere. Please advise.
Addition idea about problem was to add ENV var like DEPENDENCY_INJECTION_DEBUG_MODE and print called providers only it is enabled.
I think this issue is very important - for me, it is real hell to find error in dozens providers by unclear error message. Please help :-)
Hi @rmk135 @gen-xu Any updates?
Hi! @rmk135 @gen-xu ping for updates)