El bloque try catch no solo controla los errores que se produzcan en la zona de try, sino que si hay llamadas a funciones en esta zona, también controla sus errores.
package U2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class E00_00 {
public static void main(String[] args) {
int c = 0;
int d=0;
boolean correcto = false;
do {
try {
c = div(10, d);
correcto = true;
} catch (ArithmeticException e) {
System.out.println("ERROR Division: " + e);
d=1;
}
} while (!correcto);
System.out.println(c);
}
private static int div(int i, int c) {
return (i / c);
}
}