In this case it's a string or None right? Again I'd probably throw an exception rather than return None. Often I'll have code either return a certain value or throw an exception and have the upstream consumer look for the exception with rich information than get back a None.