Dúvida: Como não prosseguir com o programa se detectar exceção (com interface gráfica)

Boa noite a todos.
Sou de nível iniciante/médio e estou fazendo um programa em grupo para a faculdade em Java no Eclipse que envolve interface gráfica e no qual preciso tratar exceções.

A tela inicial que o programa mostra requisita alguns campos numéricos e devo tratar algumas possíveis exceções com eles.
Configuramos que ao clicar no botão “Avançar”, segue-se para a próxima página e é executado todo o resto do programa (tudo dentro do ActionListener do botão avançar).
O meu problema é que eu gostaria que, se houver alguma exceção com alguma variável da tela inicial, ele não permita que o usuário avance para o próximo passo, mas sim que ele continue na tela inicial e permita que o usuário faça alterações

Tentei usar um “do while” como uso quando não há interface gráfica, mas depois entendi que não funciona porque o lugar no qual estou colocando-o faz com que o programa apenas releia os valores já colocados e não dê oportunidade do usuário alterar os valores. Por conta disso, acaba capturando as exceções infinitamente.

Postei o exemplo de como fiz com apenas uma das variáveis requisitadas na tela inicial porque o código está muito extenso, mas se for necessário, posso mostrar mais.

Não sei se ficou claro, mas desde já agradeço.

			btnNewButton.addActionListener(new ActionListener() {
				
				public void actionPerformed(ActionEvent arg0) {
										
					String nAtivo = nomeAtivo.getText();
					
					int nAnos = 0;
					do {
						try {

							nAnos = Integer.parseInt(Anos.getText());
							recusarNegativo((double)nAnos);
							recusarZero((double)nAnos);

							tenteDeNovo = false;

						} catch (InputMismatchException e) {
							JOptionPane.showMessageDialog(null, "Entrada envalida","Erro", JOptionPane.ERROR_MESSAGE);

						} catch (NegativoException e) {
							JOptionPane.showMessageDialog(null, "\n" + e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
							
						} catch (ZeroException e) {
							JOptionPane.showMessageDialog(null, "\n" + e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
							
						} catch (Exception e) {
							JOptionPane.showMessageDialog(null, "Erro não previsto no programa", "Erro", JOptionPane.ERROR_MESSAGE);
							
						} 
						

					} while (tenteDeNovo == true);

No listener do botão avançar você vai fazer as verificações.
E se tiver algo errado, você mostra o diálogo e chama return.
Chamando o return, o código abaixo dele não executa.

Verdade! Funcionou! Muito obrigado!