Re: [java-list] finally
Olá, Marcelo Realmente, quando temos uma estrutura try{}catch{}finally{}, o finally sempre é executado. Imagine a seguinte situação: Você tenta gravar algo no banco, utilizando uma conexao que já está aberta. Se conseguir (try), vc grava o valor, senão(catch), vc usa a mesma conexao e grava um erro, e no final (finally) vc precisa fechar a conexao. Para isso você poderia estar utilizando algo como: ... conn = getConnection(c:\base); stmt = conn.createStatement(); Try{ stmt.execute(delete from usuarios); }catch(SQLException e){ stmt.execute(insert into erros (erro,data) values (' + e.getMessage() + ',getDate())); }finally{ stmt.close; conn.close; } ... Nao sei se foi um exemplo muito feliz, mas a idéia é de usar um bloco finally para fazer coisas que precisariam ser feitas em ambos os casos, como fechar/destruir variaveis que foram utilizadas durante o processamento do bloco try/catch. ETA []s Lincoln Masao Muraoka Junior Analista Programador ASTI Tecnologia - Unidade de Soluções Tel.: 55 11 3031-0069 r. 227 [EMAIL PROTECTED] www.astitecnologia.com.br - Original Message - From: MARCELO DA SILVA NUNES [EMAIL PROTECTED] To: Sou Java (Java-List) (Correio eletrônico) [EMAIL PROTECTED] Sent: Thursday, January 30, 2003 3:02 PM Subject: [java-list] finally e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] finally
Um exemplo de aplicaçào pode ser ao acesso no banco de dados. Por exemplo no método abaixo : public void getAllRecords(Connection conn) throws SQLException { try { Statement stmt = null; ResultSet rset = null; stmt = conn.createStatement(); rset = stmt.executeQuery(select table_name from all_tables where rownum + i); while (rset.next()) { System.out.println(rset.getString(1)); } if (rset!=null) rset.close(); if (stmt!=null) stmt.close(); } catch (SQLException e) { System.out.println(Erro SQL : + e); } finally { if (conn != null) conn.close(); // Libera pool de conexao } } Ou seja, independente se der um erro na query ou não a conexao SEMPRE será liberada ! Abraç[]s, Max Ricardo Mercurio Ribeiro IT Business Consultant for Alcoa Company e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] (company) / [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] (personal) phones # : (0x11) 9101-5511 mob. / (0x11) 3741-4418 com. -Original Message- From: MARCELO DA SILVA NUNES [mailto:[EMAIL PROTECTED]] Sent: Thursday, 30 de January de 2003 3:02 PM To: Sou Java (Java-List) (Correio eletrônico) Subject: [java-list] finally e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] finally
Senhores, O bloco finnaly não é executado se o programador sair do programa usando System.exit( 0 ); Atenciosamente, André Saboia Navarro da Rocha Desenvolvedor, SCPJ2 SoftExport Informática Fone/Fax: +55 85 4581947 Celular: +55 85 91081145 [EMAIL PROTECTED] www.softexport.com.br - Original Message - From: Savio Barros [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 30, 2003 6:29 PM Subject: Re: [java-list] finally A finalidade do finally é justamente essa: executar alguma coisa independente de ter ocorrido exceção. try{ } catch{ } finally{} //--esse bloco (que está entre as chaves) será sempre executado... []´s Sávio Barros - Original Message - From: MARCELO DA SILVA NUNES [EMAIL PROTECTED] To: Sou Java (Java-List) (Correio eletrônico) [EMAIL PROTECTED] Sent: Thursday, January 30, 2003 3:02 PM Subject: [java-list] finally e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.449 / Virus Database: 251 - Release Date: 27/1/2003 -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] finally
Fechar uma conexão com banco de dados. Não importa se ocorreu uma excessão ou não, a conexão deve ser fechada. []'s Cristofer -Mensagem Original- De: MARCELO DA SILVA NUNES [EMAIL PROTECTED] Para: Sou Java (Java-List) (Correio eletrônico) [EMAIL PROTECTED] Enviada em: quinta-feira, 30 de janeiro de 2003 15:02 Assunto: [java-list] finally e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] finally
Você pode usar para fechar uma conexão com o servidor por exemplo. ou seja algum processamento que possa ficar sendo executado após a exception. Reinaldo Em Qui 30 Jan 2003 15:02, MARCELO DA SILVA NUNES escreveu: e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - Esta mensagem foi verificada pelo E-mail Protegido Terra. Scan engine: VirusScan / Atualizado em 29/01/2003 / Versão: 1.3.13 Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] finally
Um bom exemplo de utilização do bloco finally é para fechar uma conexão com o banco de dados. try { . } catch( Exception e ) { } finally { conn.close(); } Dessa forma, você garante que, ocorrendo um erro ou não no método, a conexão não permanecerá aberta. [ ] ´s ___ Rafael Fernandes Grottoli Jaunt Technologies Phone: +55 (41) 9961-3390 E-Mail: [EMAIL PROTECTED] -Original Message- From: MARCELO DA SILVA NUNES [mailto:[EMAIL PROTECTED]] Sent: quinta-feira, 30 de janeiro de 2003 15:02 To: Sou Java (Java-List) (Correio eletrônico) Subject: [java-list] finally e ai galera, estava lendo sobre exceptions e me deparei com algo que não entendi é sobre a funcionalidade do finally após um bloco try catch, pois toda vez ele será executado sendo lançado ou não uma exceção . gostaria de saber para que normalmente vc's usam? Obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.449 / Virus Database: 251 - Release Date: 27/1/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.449 / Virus Database: 251 - Release Date: 27/1/2003 -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] finally
Olá Marcelo,imagine uma simples transação com banco de dados através da classe Connection da Sun. Você precisa abrir a conexão, executar a transação e depois fechar. Agora suponha que antes que a conexão seja fechada, ocorra um erro na execução do SQL utilizado. Assim, sua conexão ficará aberta. É neste caso que sempre utilizo o "finally". Dentro do escopo do "finally" coloque a invocação do método "close()" da conexão. O que acontece é que todos os comandos em "finally" são executados, independente se a execução passou pelo escopo do "try" ou do "catch".Espero que ajude.Leonardo Pereira. __ Leonardo Tadeu Ribeiro Pereira [EMAIL PROTECTED] ICQ#: 73052953 Current ICQ status: Visite o site de pregações do Evangelho- http://www.oevangelho.cjb.net__ - Original Message - From: "MARCELO DA SILVA NUNES" [EMAIL PROTECTED] To: "Sou Java (Java-List) (Correio eletrônico)" [EMAIL PROTECTED] Sent: Thursday, January 30, 2003 3:02 PM Subject: [java-list] finally e ai galera,estava lendo sobre exceptions e me deparei com algo que não entendié sobre a funcionalidade do finally após um bloco try catch, pois toda vezele será executado sendo lançado ou não uma exceção .gostaria de saber para que normalmente vc's usam?Obrigado-- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] - ---Outgoing mail is certified Virus Free.Checked by AVG anti-virus system (http://www.grisoft.com).Version: 6.0.445 / Virus Database: 250 - Release Date: 21/1/2003 online?icq=73052953img=21 Description: Binary data