Pessoal, para cada parte do método eu tenho que declarar o catch?
Por que existem 4 partes do meu método que podem ocorrer exeções, mas todos os tratamentos são iguais, não tem como colocar uma coisa mais global?
Exemplo:
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Observable;
import javax.swing.JOptionPane;
import view.InterfaceAgenda;
import view.TabelaDeVisualizacao;
public class Agenda extends Observable implements ActionListener {
@Override
public void actionPerformed(ActionEvent ev) {
if (ev.getSource() == InterfaceAgenda.botao1) {
try {
new InserirContato().inserir(
InterfaceAgenda.nomeFieldInserir.getText(),
InterfaceAgenda.telefoneFieldInserir.getText(),
InterfaceAgenda.emailFieldInserir.getText());
JOptionPane.showMessageDialog(null,
"Cadastro realizado com sucesso");
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null,
"Driver do banco de dados não encontrado.");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Ocorreu um erro com o banco de dados");
}
} else if (ev.getSource() == InterfaceAgenda.botao2) {
String id = InterfaceAgenda.idFieldVisualizar.getText();
if (id == null) {
JOptionPane.showMessageDialog(null, "Digite um ID");
} else {
try {
int i = Integer.parseInt(id);
ArrayList lista = new VisualizarContato().obterDados(id);
new TabelaDeVisualizacao(lista);
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "Digite um ID válido");
}
}
} else if (ev.getSource() == InterfaceAgenda.botao3) {
try {
new AtualizarContato().atualizar(
InterfaceAgenda.idFieldAtualizar.getText(),
InterfaceAgenda.nomeFieldAtualizar.getText(),
InterfaceAgenda.telefoneFieldAtualizar.getText(),
InterfaceAgenda.emailFieldAtualizar.getText());
JOptionPane.showMessageDialog(null,
"Atualização realizada com sucesso");
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null,
"Driver do banco de dados não encontrado.");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Ocorreu um erro com o banco de dados");
}
} else if (ev.getSource() == InterfaceAgenda.botao4) {
} else if (ev.getSource() == InterfaceAgenda.botao5) {
}
}
public static void main(String[] args) {
new InterfaceAgenda();
}
}