On Wed, Jul 10, 2013 at 1:01 PM, Nachi Ueno <[email protected]> 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 > [email protected] > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > -- -Dolph
_______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
