Como retornar meu valor

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);
}
}


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; 
} 

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; 

[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]

VALEU PESSOAL, DEU CERTO!!!