Don't rely on exceptions for control flow