Skip to content

Better error handling #509

Open
Open
@gen-xu

Description

@gen-xu

Currently if the callable provider fails due to missing arguments or other errors, it may be hard to find out which guy is missing arguments if one provider is being referred many times.

src/dependency_injector/providers.pxd:422: in dependency_injector.providers.__provide_keyword_args
    ???
src/dependency_injector/providers.pxd:345: in dependency_injector.providers.__get_value
    ???
src/dependency_injector/providers.pyx:195: in dependency_injector.providers.Provider.__call__
    ???
src/dependency_injector/providers.pyx:197: in dependency_injector.providers.Provider.__call__
    ???
src/dependency_injector/providers.pyx:2755: in dependency_injector.providers.Singleton._provide
    ???
src/dependency_injector/providers.pxd:620: in dependency_injector.providers.__factory_call
    ???
src/dependency_injector/providers.pxd:606: in dependency_injector.providers.__callable_call
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   TypeError: __init__() missing 1 required positional argument: 'config'

src/dependency_injector/providers.pxd:579: TypeError

it may be hard to find out which __init__, consider re-raise the exception with the function reference

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions