When you throw an exception by a method, you should normally know what kind of exception it is. if you throw a general exception rather a specific exception, you will loose the specific detail of the exception when catching the exception if raised.
For example, Float.parseFloat() throws :
1) NullPointerException --> if the string is null
2) NumberFormatException --> if the string does not contain a parsable float.
If it was to throw general "Exception" instead of "NullPointerException" and of "NumberFormatException", there would be no way to know if the exception was raised because the string was null or the string contained non-parsable float value.