On Thu, Jan 24, 2013 at 10:58 PM, Tobias M. <t...@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 -- http://mail.python.org/mailman/listinfo/python-list