This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
In my opinion catching specific exception is better. It enables you to do different things in the catch block... like assigning a default value and move on during a number format exception or exit the method and throw exception when you get an IllegalArgument exception