Somehow the discussion getting derailed :P Personally, I use exception when the function I need to use is throwing and handle when it throws and return the default value. If possible, I would avoid several try-except layers and keep it flat.
So, having simple exception is preferable. And it's good to know C++ going to that direction too :D
