Why does list.index throw an exception, instead of using an arbitrary value (for example, -1)? What's the idea behind this?
To me it looks cleaner to deal with special values, rather than exceptions.
EDIT: I didn't realize -1 is a potentially valid value. Nevertheless, why not something else? How about a value of None?
解决方案
Because -1 is itself a valid index. It could use a different value, such as None, but that wouldn't be useful, which -1 can be in other situations (thus str.find()), and would amount simply to error-checking, which is exactly what exceptions are for.