[openstack-dev] [Review] Use of exception for non-exceptional cases
dolph.mathews at gmail.com
Wed Jul 10 18:30:35 UTC 2013
On Wed, Jul 10, 2013 at 1:01 PM, Nachi Ueno <nachi at ntti3.com> wrote:
> HI folks
> I would like to ask the review criteria in the community.
> Should we use exception for non-exceptional cases when we can use
> parameter checking?
> Example1: Default value for array index
> value = list
> except IndexError:
> value = 'default_value'
I can't get past this specific example... how often do you find yourself
needing to do this, exactly? Generally when you use a list you either FIFO
/ LIFO or iterate through the whole thing in some fashion.
I'd be tempted to write it as dict(enumerate(my_list)).get(3,
'default_value') just because you're treating it like a mapping anyway.
> This can be also written as,
> list_a if len(list_a) > 3 else 'default_value'
> "ask for forgiveness, not permission" is one of way in python,
> however, on the other hand, google python code style guide says,
> Minimize the amount of code in a try/except block. The larger the body
> of the try, the more likely that an exception will be raised by a line
> of code that you didn't expect to raise an exception. In those cases,
> the try/except block hides a real error.
+1 for this, but it's not really intended to provide an answer your
question of approach.
> Personally, I prefer not to use exception for such cases.
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev