"Robert Johansson" <[email protected]> wrote
What if a valid user input has to be an integer between 10 and 20?
Would it be pythonic to add a test like:
If prompt in range(10,21):
...
else:
... raise an error
Yes and it could be a ValueError in this case.
You could also test using conditions which, for a wide range,
would be more efficient
if minVal < choice < maxVal:
...
else:
raise ValueError("Choice (%d) should be between %d and %d" % (choice,
minVal, maxVal) )
If I understand the error handling correctly you can add your own user
defined error, but is that really what you should do in that case?
In this case I'd just use ValueError although I would add a string message
to state the valid range, as shown above.
But it is a trivial task to create a custom Exception class:
class RangeError(Exception): pass
and then
raise RangeError("Choice (%d) should be between %d and %d" % (choice,
minVal, maxVal) )
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor