As exceptions não possuem uma superclass a qual se estendem? Já que podemos atribuir uma única referência para elas no multi catch, não seria mais fácil usar de polimorfismo para tratar as exceções de forma mais ampla?
try {
metodo1();
} catch (ArithmeticException | NullPointerException ex) {
System.out.println("Exception " + ex.getMessage());
ex.printStackTrace();