возвращение None (то же самое, что ничего не возвращать явно) само по себе не является исключением. Если это должно быть исключением, get_str () должно вызвать это исключение, и вам решать, какова правильная причина и, следовательно, правильное исключение. Это может быть ValueError, TypeError или что-то нестандартное. Э.Г.
def get_str():
x = some_complex_computation()
if x is None:
raise ValueError("because it's wrong!!")
return x
Однако, часто None будет допустимым возвращаемым значением. Либо проверьте его явно, как только вы получите возвращаемое значение, как указывает Игнасио, либо просто используйте «duck typing»: предположим, вы вернули строку и позволили python провалиться, если это не так. Э.Г.
str = get_str()
if 'foo' in str:
print "Looks okay!"
если str равен None, python завершится с ошибкой в выражении 'in' с исключением TypeError.