Ola pessoal, venho mais uma vez recorrer aqui aqueles que já passaram por estes erros simples =D
O problema é: Onde devo colocar o return dentro de um bloco try-catch? Por exemplo:
public class Exemplo {
String teste = "teste";
public String testando() {
try {
//return aqui dá erro de que o metodo não está retornando nada.
} catch(Exception e) {
} finally {
//return aqui o Eclipse dá este aviso: "finally block does not complete normally"
}
}
}
E aí galera, onde vai o return??
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:
veja bem vc coloca tudo que precisa dentro do try, caso de algum erro o catch captura o erro e o que está no try não será executado…o finally será executado independete se o catch capturar ou não a exceção…Coloque o return dentro do try…dependendo de como vc quer que o metodo seja executado…
Foi mal pela falta do BBCode hehehe…
Poisé cara, só que quando eu coloco um return dentro do Try{}, o Eclipse acusa erro de que o método não retorna nada =|
Caro Fábio, isso acontece, porque todo método não “void” declarado tem que retornar alguma coisa, pelo seu método você tem que colocar um return no “try”, e porque o Eclipse acusa erro?, pelo seguinte, como o método sempre tem que retornar algo no teu caso uma String, nada garante que esse return dentro do try vai ser executado, pois pode-se encontrar uma exceção no meio do caminho antes de chegar no return, por boa prática, vc pode colocar um return no catch tb, para uma página de erro se for uma aplicação web.
é a mesma coisa em if—else, tem que colocar return nos dois ou depois dos dois em um método, pois se não atender uma condição em um ele vai executar em um outro, o Java é inteligente… prevê esses erros em tempo de execução
Sim, o catch é executado quando é lançada uma exceção e o finally é executado ao terminar o bloco try, tenha ele sido bem sucedido ou não… você pode colocar o return no finally
try{
//codigo
}catch(Exception e){
//é executado somente se o codigo do try lançar Exception
}finally{
//é executado sempre
return "texto";
}
boa tarde pessoal, blezinha?
por favor me esclarecam quanto a função do return
por exemplo:
tenho um metodo que retorna uma variavel
estaria ele disponibilizando a variavel para que outros metodos a utilizem??? :lol: :lol:
sei que é uma duvida boba, mas não deixa de ser uma duvida
desde já agradeço qualquer esclarecimento
valeuuuuuuuu
[quote=“C3pO”]boa tarde pessoal, blezinha?
por favor me esclarecam quanto a função do return
por exemplo:
tenho um metodo que retorna uma variavel
estaria ele disponibilizando a variavel para que outros metodos a utilizem??? :lol: :lol:
sei que é uma duvida boba, mas não deixa de ser uma duvida
desde já agradeço qualquer esclarecimento
valeuuuuuuuu[/quote]
A keyword return, é utilizada para terminar a execução de um método (retorna ao método seguinte na pilha de chamada)… pode opicionalmente retornar um valor.