Finally block does not complete normally

5 respostas
kotoko

Eu obtenho o aviso

Finally block does not complete normally
no seguinte pedaço de código

String ler_linha() {
		String strLine = "";
		try {
			strLine = this.br.readLine();
		} catch (IOException e) {
			IOException(e);
		} finally {
			return strLine;
		}
		
	}

Alguma ideia de porquê?

5 Respostas

samuelhenriquerj

tenta colocar:

String ler_linha() {  
         String strLine = "";  
         try {  
             strLine = this.br.readLine();  
             return strLine;  
         } catch (IOException e) {  
            IOException(e);  
            return("Erro: " + e.getMessage());

         }
           
     }
kotoko

entao e o finally?

samuelhenriquerj

o finally se ñ me engano nao é usado pra dar return
Se eu estiver errado me corrigam, pls…

kotoko

mas segundo o que eu percebi o finally é para garantir que um determinado pedaço de código executa “no matter what”

LPJava

qdo vc dar um return ele para de executar o finally… por isso… tb se der um System.exit(1); a execucao para. Aquele return ali ele nao deixa o finally completar sua execucao.

Criado 13 de outubro de 2007
Ultima resposta 13 de out. de 2007
Respostas 5
Participantes 3