There will be a small slowdown, of course, but not the massive performance hits that you get in, for example C#. I also assume that the Catch (which is the most "expensive" bit) is only used on bad data, which hopefully occurs seldom.
That said, I usually make data validation without Try-Catch, instead relying on code that checks if it's a meaningful value. That allows me to handle errors in a more intelligent way, depending on what's wrong, and also allows me to catch errors which Try-Catch wouldn't. Say, for example, that we have an integer specifying weekday, with valid values 0-6. Try-Catch would Catch if you got an "M", but it wouldn't catch if someone sent you a 7.