Using Exceptions as flow control leads to GOTOish code and obscures true exceptions when debugging.