Olá tudo bem? Por favor me ajudem. Observando o Projeto final observei as alterações sobre "throw SQL Exception" e achei super legal o tratamento e inclusão com Try-Catch mas na pratica o projeto ficou com a Classe com mais de um Try. Isso pode ser assim? ou ficaria como má pratica? fiquei na dúvida porque um colega me questionou isso ao ver o meu código. Caso não seja um bom caminho qual seria uma alternativa à isso? Vou mostrar um exemplo do codigo em questão:
public List listarComProduto() {
try {
Categoria ultima = null;
List<Categoria> categorias = new ArrayList<>();
String sql = "SELECT C.ID, C.NOME, P.ID, P.NOME, P.DESCRICAO " + "FROM CATEGORIA C "
+ "INNER JOIN PRODUTO P ON C.ID = P.CATEGORIA_ID";
try (PreparedStatement pstm = connection.prepareStatement(sql)) {
pstm.execute();
try (ResultSet rst = pstm.getResultSet()) {
while (rst.next()) {
if (ultima == null || !ultima.getNome().equals(rst.getString(2))) {
Categoria categoria = new Categoria(rst.getInt(1), rst.getString(2));
categorias.add(categoria);
ultima = categoria;
}
Produto produto = new Produto(rst.getInt(3), rst.getString(4), rst.getString(5));
ultima.adicionar(produto);
}
}
return categorias;
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Nesse exemplo vemos mais de um Try por exemplo, fiquei confuso. Um abraço.