python-dependency-injector icon indicating copy to clipboard operation
python-dependency-injector copied to clipboard

Better error handling #509

Open whysage opened this issue 3 years ago • 3 comments

Add providers log on error.

whysage avatar Nov 01 '21 21:11 whysage

@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 :-)

whysage avatar Nov 01 '21 21:11 whysage

Hi @rmk135 @gen-xu Any updates?

whysage avatar Nov 20 '21 17:11 whysage

Hi! @rmk135 @gen-xu ping for updates)

whysage avatar Dec 05 '21 13:12 whysage