Bom dia Pessoal,
Estou com uma dúvida eu faço uma conexão com o banco para ler alguns registros, 1543 para ser exato, e faço uma conexão com um outro banco para pegar a descrição dos produtos lido na primeira tabela, mas nesta segunda tabela posso não ter o registro para o código achado na primeira então no segundo catch eu trato este erro mas quando ele entra no segunto catch da erro no primeiro também, coloquei o system.out para acompanhar aí aparece o outro no primeiro catch e logo em seguida aparece o entrou no segundo catch, vejam o código para ficar mais claro:
public static String PegaProdutos() {
int quantReg = 0;
produtos = new Produtos();
try {
pstProgress = executaSqlEspec("select \"it-codigo\" from PUB.\"scq-param5\" with (nolock)" );
rsProgress = pstProgress.executeQuery();
//---------------------------
while (rsProgress.next()) {
System.out.println(rsProgress.getString("it-codigo") + " " + quantReg++);
try {
pstEms2mult = executaSqlEms2mult("select \"it-codigo\", \"desc-item\" from PUB.item where PUB.item.\"it-codigo\" = \'"
+ rsProgress.getString("it-codigo") + "\' with (nolock)" );
rsEms2mult = pstEms2mult.executeQuery();
while (rsEms2mult.next()){
produtos.setProduto(rsProgress.getString("it-codigo"), rsEms2mult.getString("desc-item"));
}
rsEms2mult.close();
pstEms2mult.close();
conexaoEms2mult.close();
conexaoEms2mult = null;
}catch (Exception ex1) {
System.out.println("entrou no primeiro catch");
produtos.setProduto(rsProgress.getString("it-codigo"), "Sem Cadastro");
//JOptionPane.showMessageDialog(null,"Produto: " + rsProgress.getString("it-codigo") + " sem cadastro. Verifique.");
}
}
System.out.println("sai do while...");
rsProgress.close();
pstProgress.close();
conexaoEspec.close();
conexaoEspec = null;
} catch (Exception ex2) {
System.out.println("entrou no segundo catch...");
JOptionPane.showMessageDialog(null,"Ocorreu um erro na conexão com o banco de dados. Verifique." + ex2.getMessage());
}
return null;
}
Saberiam se existe uma forma de tratar isso para não entrar no segundo catch quando da erro no primeiro?