I think this pattern is fine. Unlike in many other languages, exceptions in python are *fast*, and [this is actually a pythonic idiom](http://stackoverflow.com/questions/7604636/better-to-try-something-and-catch-the-exception-or-test-if-its-possible-first/7604717#7604717).