using split for a string : error

Tobias M. tm at tobix.eu
Thu Jan 24 07:10:13 EST 2013


Am 24.01.2013 13:02, schrieb Chris Angelico:
> On Thu, Jan 24, 2013 at 10:58 PM, Tobias M. <tm at tobix.eu> wrote:
>> Chris Angelico wrote:
>>> I'd not consider the performance, but the correctness. If you're
>>> expecting them to be integers, just cast them, and specifically
>>> _don't_ catch ValueError. Any non-integer value will then noisily
>>> abort the script. (It may be worth checking for blank first, though,
>>> depending on the data origin.)
>> Well, when I said you should catch the ValueError I didn't imply you should
>> ignore the error and supress any error messages. Of course this depents on
>> the use case. Maybe you want to raise another exception with a more user
>> friendly error message or you might want to skip the line and just print a
>> warning. :)
>>
>> What I'm trying to say: When I give a script/program to a user who is not a
>> python programmer I don't want him to see an error message like "ValueError:
>> invalid literal for int() with base 10: 'abc'" as this would help him in no
>> way.
> Sure. Definitely. But for a proglet where the programmer IS the user
> (which I think is one of Python's best use-cases), that exception
> landing on the console is better than having to think ahead of time
> about what might go wrong.
>
> ChrisA
Okay, I absolutely agree with that :)

Tobias



More information about the Python-list mailing list