{"action":"created","issue":{"url":"https://api.github.com/repos/boto/botocore/issues/1005","repository_url":"https://api.github.com/repos/boto/botocore","labels_url":"https://api.github.com/repos/boto/botocore/issues/1005/labels{/name}","comments_url":"https://api.github.com/repos/boto/botocore/issues/1005/comments","events_url":"https://api.github.com/repos/boto/botocore/issues/1005/events","html_url":"https://github.com/boto/botocore/pull/1005","id":171044512,"number":1005,"title":"ClientError subclass factory","user":{"login":"kislyuk","id":862013,"avatar_url":"https://avatars.githubusercontent.com/u/862013?v=3","gravatar_id":"","url":"https://api.github.com/users/kislyuk","html_url":"https://github.com/kislyuk","followers_url":"https://api.github.com/users/kislyuk/followers","following_url":"https://api.github.com/users/kislyuk/following{/other_user}","gists_url":"https://api.github.com/users/kislyuk/gists{/gist_id}","starred_url":"https://api.github.com/users/kislyuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kislyuk/subscriptions","organizations_url":"https://api.github.com/users/kislyuk/orgs","repos_url":"https://api.github.com/users/kislyuk/repos","events_url":"https://api.github.com/users/kislyuk/events{/privacy}","received_events_url":"https://api.github.com/users/kislyuk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":23,"created_at":"2016-08-14T06:10:29Z","updated_at":"2016-12-21T01:30:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/boto/botocore/pulls/1005","html_url":"https://github.com/boto/botocore/pull/1005","diff_url":"https://github.com/boto/botocore/pull/1005.diff","patch_url":"https://github.com/boto/botocore/pull/1005.patch"},"body":"See also: https://github.com/boto/boto3/issues/167, https://github.com/boto/boto3/issues/361\n\nI'm using this PR to start a discussion about subclassing ClientError. Is there a plan for how to implement this? (I couldn't find any relevant notes in https://github.com/boto/boto3/issues/167.) The implementation here allows more useful error processing patterns in ClientError consumers, like:\n\n```\nimport boto3\nfrom botocore.errorfactory import NoSuchEntity\n\niam = boto3.resource(\"iam\")\n\ntry:\n    iam.Role(\"fakeRole\").load()\nexcept NoSuchEntity as e:\n    print(e)\n```\n\nThere are a few caveats, including the fact that the error factory has no ability to sanity check error names. I can add docs if I receive feedback that I'm on the right track.\n"},"comment":{"url":"https://api.github.com/repos/boto/botocore/issues/comments/268409118","html_url":"https://github.com/boto/botocore/pull/1005#issuecomment-268409118","issue_url":"https://api.github.com/repos/boto/botocore/issues/1005","id":268409118,"user":{"login":"kyleknap","id":4605355,"avatar_url":"https://avatars.githubusercontent.com/u/4605355?v=3","gravatar_id":"","url":"https://api.github.com/users/kyleknap","html_url":"https://github.com/kyleknap","followers_url":"https://api.github.com/users/kyleknap/followers","following_url":"https://api.github.com/users/kyleknap/following{/other_user}","gists_url":"https://api.github.com/users/kyleknap/gists{/gist_id}","starred_url":"https://api.github.com/users/kyleknap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyleknap/subscriptions","organizations_url":"https://api.github.com/users/kyleknap/orgs","repos_url":"https://api.github.com/users/kyleknap/repos","events_url":"https://api.github.com/users/kyleknap/events{/privacy}","received_events_url":"https://api.github.com/users/kyleknap/received_events","type":"User","site_admin":false},"created_at":"2016-12-21T01:30:19Z","updated_at":"2016-12-21T01:30:19Z","body":"@kislyuk Sounds good. I am working on refactoring your branch so you should be seeing updates soon."}}
{"actor":{"display_login":"kyleknap"}}