Exceptions e Try do Java

Olá Comunidade GUJ!

Estou com uma dúvida: ao abrirmos uma conexão para nossos SELECTS, UPDATES, INSERTS, DELETES… devemos colocar quantos Try?

Exemplo:

		try (Connection connection = new ConnectionPool().getConnection()) {
			connection.setAutoCommit(false);
			String sql = "insert into produto (nome, descricao) values (?, ?)";
			try (PreparedStatement statement = connection.prepareStatement(sql,
					Statement.RETURN_GENERATED_KEYS)) {
				adiciona("TV LCD", "32 polegadas", statement);
				adiciona("Blueray", "Full HDMI", statement);

				connection.commit();
				statement.close();
			} catch (Exception e) {
				connection.rollback();
				System.out.println("Rollback efetuado");
				e.printStackTrace();
			}
		}

O exemplo acima está com dois Try, porém já vi com apenas um, sendo considerado apenas o primeiro Try.

Você criou uma classe de conexão? Se sim, não precisa usar o try pra chamar.

vc só faria assim:

conecta.conexao();
try(
////////////////////////
}catch( Exception e) {
}
conecta.desconecta();

Não existe uma resposta.
Vai depender de como você está programando e o que você vai fazer nos catch.

1 curtida

Concordo plenamente com o @staroski.
As únicas coisas que você precisa ter em mente é que:

  • Nunca, sob hipótese alguma, mate um catch

    try {
    //Faz algo
    } catch (Exception ex) {}

  • Faça uso de logs. Eles ajudam muito

  • Informe o usuário do que está ocorrendo, mas não replique a “SQLException”, apresente uma mensagem amigável, no máximo apresente um código para ser informado ao suporte, em caso de problemas.

2 curtidas

Valeu