No código abaixo que trato exceções como faço para tratar o botão cancelar para que ele funcione e também como faço para tratar quando o usuário apertar a tecla enter ao invés de digitar um número ou uma letra.
import java.util.InputMismatchException;
import javax.swing.JOptionPane;
public class Exemplo2DividePorZero2 {
public static void main(String[] args) {
boolean continua = true;
do {
try {
int n1 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite um número: "));
int n2 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o divisor: "));
JOptionPane.showMessageDialog(null, n1 / n2);
continua = false;
} catch (NumberFormatException e1) {
JOptionPane.showMessageDialog(null, "Os números devem ser inteiros");
} catch (ArithmeticException e2) {
JOptionPane.showMessageDialog(null, "O divisor deve ser diferente de zero");
}
} while (continua);
}
}