Eu tenho esse codigo:
try
{
Class.forName(“org.postgresql.Driver”); //cria conexao com bd
Connection con = DriverManager.getConnection(“jdbc:postgresql://192.168.0.3:5432/controle”,“user”,"");
Statement stmt = con.createStatement();
con.setAutoCommit(false);
}
catch(SQLException e)
{
out.print(e);
}
se eu referenciar uma das variaveis declaradas dentro do bloco try o compilador nao reconhece, ja fiz testes e o bloco e executado, alguem poderia me dar uma luz do que pode estar acontecendo.
Não entendi direito , mas se vc colocar a váriavel no bloco Try, outras partes do sistema , não encontrarão ela.Coloque ela “Global” e veja se funciona!!!
Se num for isso explique melhor!!! Valeu!!
try
{
Class.forName(“org.postgresql.Driver”); //cria conexao com bd
con = DriverManager.getConnection(“jdbc:postgresql://192.168.0.3:5432/agenda”,“cepa”,"");
stmt = con.createStatement();
con.setAutoCommit(false);
}
catch(SQLException e)
{
out.print(e);
}
%>
As variaveis sao reconhecidas porem qdo eu vou referenciar no caso o stmt a mensagem: que ainda nao foi inicializada, eu vou dar uma estuda melhor nessa questao de try, mas ate entao eu achava que o que esta dentro do bloco try em caso de ser executado tornaria o comando try digamos “transparente” para o sistema, mas nesse caso acho que nao e isso que esta acontecendo.
Pelo que entendi e vi… Se vc declarar qualquer variável dentro de bloco try, estas variáveis só serão “reconhecidas” dentro deste bloco… como qualquer outro bloco… por exemplo:
if (condicao) {
int i = 10;
System.out.print(i);
}
else {
System.out.prin(i);
}
Como vc pode ver a variável i poderá ser utilizada em qualquer ponto do bloco if (quando for verdadeiro), mas no bloco else não, pois ai ela não “existe”… Ou seja, esta variável está no escopo de bloco (existe escopo de classe, etc).
Valeu, inicializando as variaveis como null funcionou…so que eu fiquei intrigado se eu inicializasse as variaveis dentro do bloco try o restante do sistema nao reconheci essa inicializacao, eu as incializei fora bloco como null, dentro do bloco try foi atribuido valores a elas, valores que e possivel ser usado fora do bloco ! ? ? !
Mas em todo caso funcionou melhor nao ficar procurando defeito!!!