reducing if statements and error handling

Karthik Gurumurthy karthikg at aztec.soft.net
Tue Aug 21 09:51:40 EDT 2001


i was just wondering, if the purpose of the method is just to check wether
it is a number or not
it s'd either return a true / false ( +ve number / -ve number)
It s'd not throw an exception if it does'nt find it to be a number.
I feel this is not an "exceptional" situation at all for this method.

just my thoughts.
karthik.

>>>

Another easy newbie question here...  Suppose I have a method that
accepts a string (called 'value') as an argument.  I want the method
to check to see if the contents of the string is all numbers.  Here's
my logic:

def checkvalue(value):
   if value.isdigit():
        print 'success: ' + value + ' is a valid entry'
        return 1
   else:
        print 'error: ' + value + ' is NOT a valid entry'
        return -1

Questions:
1) can I reduce this "if" logic down to one statement, perhaps using
lambdas?
2) is there a recommended approach for throwing errors?  In this case,
I'd want to throw an error if the text is not a number and stop
processing.  Can I define a custom exception to do that?  Should I
catch the error in the logic that called the method and throw the
exception there if the method returns a "-1", or should I throw the
exception here?





More information about the Python-list mailing list