[openstack-dev] [Review] Use of exception for non-exceptional cases
Dolph Mathews
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
>
> try:
> value = list[5]
> 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[3] 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.
> ---------------
> http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Exceptions
+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.
>
> Best
> Nachi
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
--
-Dolph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130710/489bdf37/attachment.html>
More information about the OpenStack-dev
mailing list