Como retornar meu valor

4 respostas
C

Pessoal, to querendo fazer o valor da variavel objects retornar, mas onde colocar o return?? pois dentro do try dá erro, pois em caso de falha ele nao retorna, e fora do try nao pode pq as variaveis estao dentro do try!!
ai vai o trecho do codigo:

public Object getDados(String query)

{

try{

Statement s = this.can.createStatement();

ResultSet rs = s.executeQuery(query);

ResultSetMetaData rsmd = rs.getMetaData();

int colNo = rsmd.getColumnCount();

while(rs.next())

{

Object[] objects = new Object[colNo];

for(int i = 0; i < colNo; i++)

{

objects[i] = rs.getObject(i+1);

return objects;

}

}

}

catch(Exception e){

JOptionPane.showMessageDialog null,e.getMessage),ERRO,JOptionPane.ERROR_MESSAGE);

System.exit(0);

}

}

4 Respostas

Giulliano
public Object getDados(String query) 
{ 

Object[] objects = null; 

try{ 
Statement s = this.can.createStatement(); 
ResultSet rs = s.executeQuery(query); 
ResultSetMetaData rsmd = rs.getMetaData(); 
int colNo = rsmd.getColumnCount(); 
while(rs.next()) 
{ 
objects = new Object[colNo]; 
for(int i = 0; i < colNo; i++) 
{ 
objects[i] = rs.getObject(i+1); 

} 
} 
} 
catch(Exception e){ 
JOptionPane.showMessageDialog null,e.getMessage),"ERRO",JOptionPane.ERROR_MESSAGE); 
System.exit(0); 
} 
return objects; 
}
CintiaDR

Considere dentear seu código. E colocá-los dentro da Tag ‘code’.

public Object getDados(String query) { try{ Statement s = this.can.createStatement(); ResultSet rs = s.executeQuery(query); ResultSetMetaData rsmd = rs.getMetaData(); int colNo = rsmd.getColumnCount(); while(rs.next()) { Object[] objects = new Object[colNo]; for(int i = 0; i < colNo; i++) { objects[i] = rs.getObject(i+1); return objects; } } } catch(Exception e){ JOptionPane.showMessageDialog null,e.getMessage),"ERRO",JOptionPane.ERROR_MESSAGE); System.exit(0); } }

Sua pergunta já veio com a resposta.
Todo método TEM que retornar SEMPRE o que é declarado.

Sendo assim, vc pode fazer um return qualquer em caso de falha, por exemplo:

return null;
return new Object();

Então você tb poderia declarar o objeto fora do try.

Object[] objects = null
try{
  blablabla
}catch(){
  blablabla
}
return objects;
pedrotaek

[b][i]Talvez vc utilizando um método “getNomeDoMetodo()” para implementar um “return” pode facitar a leitura do seu código e a legivibilidade dele.

…Bem é o que eu aconselho!!!
[:D]

C

VALEU PESSOAL, DEU CERTO!!!

Criado 15 de outubro de 2007
Ultima resposta 15 de out. de 2007
Respostas 4
Participantes 4