Bom , minha dúvida é a seguinte, queria entender como posso tratar um exceção que é lançada dentro de um actionPerfomed, pois nao executo diretamente o metodo. Tipo vou mostrar o meu exemplo para ver se vocês entendem.
meu exemplo é esse
// Essa classe possui um botão de criar um album. Classe chamada JanelaAlbum
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jButtonCriar) {
try {
nome = jTextField.getText();
if (nome.equals(null) || nome.equals("")) {
throw new AlbumSemNomeException();
}
Album a = manipulador.crieAlbum(nome);
JOptionPane
.showMessageDialog(null, "Album criado com sucesso");
this.dispose();
PainelAlbum painelAlbum = new PainelAlbum(a, manipulador);
painelAlbum.mostrePainel();
} catch (AlbumJaExistente exception) {
JOptionPane.showMessageDialog(null,exception.getMessage());
exception.printStackTrace();
}
}
}
Porém se eu lançar essa exceção caso o nome do album seja nulo ou vazio, aonde poderei tratar? Pois eu nao chamo esse metodo em lugar algum, ele simplesmente é executado se o botão for clicado.
// Essa é classe JanelaPrincipal a qual instancia aquela janela, até tentei usar um try catch aqui mas como percebi o catch só captura se realmente o metodo tiver sido chamado
// porém eu nao chamo actionPerfomed aqui, e apenas executo ele na outra classe se o botão for clicado.
case CRIAR:
JanelaAbum sg = new JanelaAlbum(gerenciador);
sg.mostreJanela();
break;
Desde ja agradeço, valeu.