advantages of exception handling in java