{"action":"created","issue":{"url":"https://api.github.com/repos/ganga-devs/ganga/issues/709","repository_url":"https://api.github.com/repos/ganga-devs/ganga","labels_url":"https://api.github.com/repos/ganga-devs/ganga/issues/709/labels{/name}","comments_url":"https://api.github.com/repos/ganga-devs/ganga/issues/709/comments","events_url":"https://api.github.com/repos/ganga-devs/ganga/issues/709/events","html_url":"https://github.com/ganga-devs/ganga/issues/709","id":169096959,"number":709,"title":"should we introduce a ProxyError","user":{"login":"rob-c","id":1102021,"avatar_url":"https://avatars.githubusercontent.com/u/1102021?v=3","gravatar_id":"","url":"https://api.github.com/users/rob-c","html_url":"https://github.com/rob-c","followers_url":"https://api.github.com/users/rob-c/followers","following_url":"https://api.github.com/users/rob-c/following{/other_user}","gists_url":"https://api.github.com/users/rob-c/gists{/gist_id}","starred_url":"https://api.github.com/users/rob-c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rob-c/subscriptions","organizations_url":"https://api.github.com/users/rob-c/orgs","repos_url":"https://api.github.com/users/rob-c/repos","events_url":"https://api.github.com/users/rob-c/events{/privacy}","received_events_url":"https://api.github.com/users/rob-c/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ganga-devs/ganga/labels/Core","name":"Core","color":"d4c5f9"},{"url":"https://api.github.com/repos/ganga-devs/ganga/labels/enhancement","name":"enhancement","color":"009800"},{"url":"https://api.github.com/repos/ganga-devs/ganga/labels/question","name":"question","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-08-03T10:17:39Z","updated_at":"2016-08-03T16:55:57Z","closed_at":null,"body":"Would people be objecting to introducing a ProxyError exception or even one called UserError?\r\n\r\nThis would allow us to raise exceptions which are defined as being due to a typo or mistake or bad code entered at the IPython prompt, rather than a bug in Ganga.\r\n\r\nI'd like to make the prompt a little more friendly as some people associate the trace with something going horribly wrong rather than the trace being there to help them.\r\n(I know a lot of people simply didn't care for the old logging information for instance)\r\n\r\nOr, even should we disable the trace from a normal production release?"},"comment":{"url":"https://api.github.com/repos/ganga-devs/ganga/issues/comments/237297331","html_url":"https://github.com/ganga-devs/ganga/issues/709#issuecomment-237297331","issue_url":"https://api.github.com/repos/ganga-devs/ganga/issues/709","id":237297331,"user":{"login":"egede","id":4319174,"avatar_url":"https://avatars.githubusercontent.com/u/4319174?v=3","gravatar_id":"","url":"https://api.github.com/users/egede","html_url":"https://github.com/egede","followers_url":"https://api.github.com/users/egede/followers","following_url":"https://api.github.com/users/egede/following{/other_user}","gists_url":"https://api.github.com/users/egede/gists{/gist_id}","starred_url":"https://api.github.com/users/egede/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egede/subscriptions","organizations_url":"https://api.github.com/users/egede/orgs","repos_url":"https://api.github.com/users/egede/repos","events_url":"https://api.github.com/users/egede/events{/privacy}","received_events_url":"https://api.github.com/users/egede/received_events","type":"User","site_admin":false},"created_at":"2016-08-03T16:55:57Z","updated_at":"2016-08-03T16:55:57Z","body":"@rob-c Yes, I agree that we should try to catch `AttributeError` to avoid a thing like\r\n\r\n```\r\nGanga In [6]: j.foo()\r\nERROR    Error: 'Job' object has no attribute 'foo'\r\nERROR    Unknown/Unexpected ERROR!!\r\n---------------------------------------------------------------------------\r\nAttributeError                            Traceback (most recent call last)\r\n/cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v601r22/install/ganga/python/Ganga/GPI/__init__.py in <module>()\r\n----> 1 j.foo()\r\n\r\n/cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v601r22/install/ganga/python/Ganga/GPIDev/Base/Proxy.py in _getattribute(self, name)\r\n   1076                         returnable = addProxy(implInstance._attribute_filter__get__(name))\r\n   1077             else:\r\n-> 1078                 returnable = GPIProxyObject.__getattribute__(self, name)\r\n   1079 \r\n   1080         if isType(returnable, GangaObject):\r\n\r\nAttributeError: 'Job' object has no attribute 'foo'\r\n```\r\n\r\nOthers are OK though. If I try to assign an application to the backend, I get the more sensible\r\n\r\n```\r\nGanga In [7]: j.backend=Executable()\r\nERROR    Error: GangaAttributeError:  ('backend: attempt to assign an incompatible object <Ganga.Lib.Executable.Executable.Executable object at 0x7f9fdc0b3950> to the property in category \"backends found cat: applications\"',)\r\n\r\n[17:54:10]\r\nGanga In [8]: \r\n```\r\n\r\nwhere at least we do not get the stacktrace. It would be good if we could avoid the useless reference `<Ganga.Lib.Executable.Executable.Executable object at 0x7f9fdc0b3950>` though."}}
{"actor":{"display_login":"egede"}}