[java] Difference between using Throwable and Exception in a try catch