[Python-Dev] PEP 463: Exception-catching expressions
Ethan Furman
ethan at stoneleaf.us
Sat Feb 22 01:42:36 CET 2014
On 02/21/2014 11:04 AM, Yury Selivanov wrote:
> On 2/20/2014, 10:15 PM, Chris Angelico wrote:
>>
>> * list.pop() - no way to return a default
>
> We can fix that in 3.5.
How many are you going to "fix"? How are you going to "fix" the routines you don't control?
>> * seq[index] - no way to handle a bounds error
>
> We can add 'list.get(index, default)' method, similar to
> 'Mapping.get'. It's far more easier than introducing new
> syntax.
When I have to keep writing the same code over and over and aver again, I find a better way to do the job. In this
case, an exception expression does quite nicely.
> I also searched how many 'except IndexError' are in
> the standard library code. Around 60. That's a rather
> low number, that can justify adding 'list.get' but not
> advocate a new syntax.
And roughly 200 of KeyError, another couple hundred of ValueError...
This is not just about better handling of [missing] default values, but of better exception handling. This PEP adds the
ability to use a scalpel instead of a sledge hammer.
--
~Ethan~
More information about the Python-Dev
mailing list