In Python, both false and none evaluate to false their falsie values. And so what ends up happening is it introduces a lot of bugs into your code. So my advice here is if you have anything exceptional just always raise an exception. That's what exceptions are for. In Python raising exception is is a little bit of cost to it but it's not enough to matter and the clarity is worth it.