There is nothing wrong with catching an unchecked exception, especially with the purpose of wrapping and rethrowing.
The only case to which an advice not to catch unchecked exceptions may apply is writing something like
try { ... }
catch (RuntimeException e) { ... do some handling and move on ... }
because that will stop any NullPointerException
s, IllegalArgumentException
s, etc. from breaking the execution flow. These exceptions are both too generic to be automatically recovered from (could appear at too many places, for too many different reasons), and usually indicate programming errors which will be more difficult to pinpoint if the code doesn't break on them.