{"action":"created","issue":{"url":"https://api.github.com/repos/modesttree/Zenject/issues/379","repository_url":"https://api.github.com/repos/modesttree/Zenject","labels_url":"https://api.github.com/repos/modesttree/Zenject/issues/379/labels{/name}","comments_url":"https://api.github.com/repos/modesttree/Zenject/issues/379/comments","events_url":"https://api.github.com/repos/modesttree/Zenject/issues/379/events","html_url":"https://github.com/modesttree/Zenject/issues/379","id":279617179,"number":379,"title":"Expose exceptions instead of assertions","user":{"login":"phamhathanh","id":8708190,"avatar_url":"https://avatars2.githubusercontent.com/u/8708190?v=4","gravatar_id":"","url":"https://api.github.com/users/phamhathanh","html_url":"https://github.com/phamhathanh","followers_url":"https://api.github.com/users/phamhathanh/followers","following_url":"https://api.github.com/users/phamhathanh/following{/other_user}","gists_url":"https://api.github.com/users/phamhathanh/gists{/gist_id}","starred_url":"https://api.github.com/users/phamhathanh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phamhathanh/subscriptions","organizations_url":"https://api.github.com/users/phamhathanh/orgs","repos_url":"https://api.github.com/users/phamhathanh/repos","events_url":"https://api.github.com/users/phamhathanh/events{/privacy}","received_events_url":"https://api.github.com/users/phamhathanh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-12-06T03:48:48Z","updated_at":"2017-12-06T05:13:57Z","closed_at":null,"author_association":"NONE","body":"Currently, Zenject uses assertions to ensure internal invariance, as well as input validation. Because of that, there are cases where the error message not giving helpful information, but the internal logic instead.\r\n\r\nI suggest catching these floating assertions in the public classes and rethrowing with more specific debugging information. That way, the assertions can become an implementation detail, and the users don't have to have a deep understanding of Zenject's internals."},"comment":{"url":"https://api.github.com/repos/modesttree/Zenject/issues/comments/349536243","html_url":"https://github.com/modesttree/Zenject/issues/379#issuecomment-349536243","issue_url":"https://api.github.com/repos/modesttree/Zenject/issues/379","id":349536243,"user":{"login":"svermeulen","id":810762,"avatar_url":"https://avatars3.githubusercontent.com/u/810762?v=4","gravatar_id":"","url":"https://api.github.com/users/svermeulen","html_url":"https://github.com/svermeulen","followers_url":"https://api.github.com/users/svermeulen/followers","following_url":"https://api.github.com/users/svermeulen/following{/other_user}","gists_url":"https://api.github.com/users/svermeulen/gists{/gist_id}","starred_url":"https://api.github.com/users/svermeulen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svermeulen/subscriptions","organizations_url":"https://api.github.com/users/svermeulen/orgs","repos_url":"https://api.github.com/users/svermeulen/repos","events_url":"https://api.github.com/users/svermeulen/events{/privacy}","received_events_url":"https://api.github.com/users/svermeulen/received_events","type":"User","site_admin":false},"created_at":"2017-12-06T05:13:57Z","updated_at":"2017-12-06T05:13:57Z","author_association":"OWNER","body":"Can you give an example where the error information is more related to internal logic?"}}
{"actor":{"display_login":"svermeulen"}}