Try e catch, e se der tudo certo?

9 respostas
jason_bourne

Pessoal,

Eu quero verificar se uma determinada query no banco foi feita com sucesso. Elas estão dentro de um try/catch…tem como eu verificar isso?

9 Respostas

marcushlm

se ele não entrar no catch é porque deu tudo certo, siga a lógica do seu programa.

T

Você pode fazer algo como:

boolean ok = false;
try {
    executar a coisa que pode dar problemas;
    ok = true;
} catch (SeuProblemaException ex) {
    ...
}
if (ok) {
    ...
}
jason_bourne

thingol:
Você pode fazer algo como:

boolean ok = false; try { executar a coisa que pode dar problemas; ok = true; } catch (SeuProblemaException ex) { ... } if (ok) { ... }

putz…era isso mesmo…e pior q eu não conseguia chegar nisso…heheheh

vlw!

lucifeler

O catch é responsavel por tratar os erros que possam dar em todo o codigo que está dentro do try.

jason_bourne

eu preciso do IF pois dentro do if eu vou chamar um método que vai armazenar no banco se a query deu certo.

diego2005

eu preciso do IF pois dentro do if eu vou chamar um método que vai armazenar no banco se a query deu certo.

Porque você não coloca isso logo após a execução da query??? Se ela der erro não vai chegar nessa linha. Ai você pode descartar o uso do if.

T+

jason_bourne

eu preciso do IF pois dentro do if eu vou chamar um método que vai armazenar no banco se a query deu certo.

Porque você não coloca isso logo após a execução da query??? Se ela der erro não vai chegar nessa linha. Ai você pode descartar o uso do if.

T+

hummm…verdade… vlw :slight_smile:

marciocamurati

Então se você esta trabalhanco com JDBC, e a query em questão for um INSERT, UPDATE ou DELETE quando você faz a chamada para executar essa query utilizando PreparedStatement:

PreparedStatement pstmt = null;
		Connection conn = null;

		try {
			...

			pstmt = conn.prepareStatement("QUERY");
	
			int rows = pstmt.executeUpdate();
			
			// rows retorna quantos linhas foram afetadas na tabela
			if (rows != 0) {
			    ...
			 }
		}

Ele te retornaria a quantidade de linhas que foram “afetadas” na tabela sendo 0 para nenhuma ou seja se era um DELETE por exemplo ele foi feito mas não apagou nenhum registro da tabela.

PreparedStatement: http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html

Talvez isso também te ajude em algo.

[]s

LPJava

enquanto nada do cathc é executado entao fique feliz :smiley:
o catch - serve para tratar as exceções… ou seje, algo que nao devida ter ocorrido… mais infelizmente aconteceu… nunca queira que ele seja executado se programa esta´executando e tem um trecho com try{} e catch{} e ta tudo normal… entao… nao se preocupe.

flw!

Criado 1 de novembro de 2007
Ultima resposta 1 de nov. de 2007
Respostas 9
Participantes 7