Throw

4 respostas
protheusx

Galera tive que dar um suporte num código que nao é meu! so que na hora de começar a complilar ele me deu erro na função abaixo!

public com.sap.mw.jco.JCO.Function createFunction(String name)
        throws Exception
    {
        IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase());
        if(ft == null)
            return null;
        return ft.getFunction();
        
        throw new Exception("Problem retrieving JCO.Function object.");
    }

ERRO:
init:
deps-jar:
Compiling 1 source file to \build\classes
RelatorioECC.java:3481: unreachable statement

throw new Exception("Problem retrieving JCO.Function object.");
Note: RelatorioECC.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: RelatorioECC.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
FALHA NA EXECUÇÃO (tempo total: 0 segundos)

Alguem tem uma Luz sobre o assunto?

Protheusx

4 Respostas

sergiotaborda

A mensagem de erro diz tudo "RelatorioECC.java:3481: unreachable statement "

A linha throw new Exception(“Problem retrieving JCO.Function object.”); nunca poderá ser executada porque existe um return antes que termina o método. remova essa linha de throw ou estruture melhor o codigo.

Mero_Aprendiz
protheusx:
public com.sap.mw.jco.JCO.Function createFunction(String name)
        throws Exception
    {
        IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase());
        if(ft == null)
            return null;
        return ft.getFunction();
        
        throw new Exception("Problem retrieving JCO.Function object.");
    }

Tem um trem errado que não tá certo nesse código ai.
Se ft for nulo, você faz um retorno, se não você retorna um ft.getFunction();, então a excessão não é alcançada, já que em qualquer situação você já retorna algo para quem chamou antes de lançar a excessão.

[]'s
JL

protheusx

pois é nao é!

depois analisando um pouco melhor achei mais coisa errada no codigo antes disso!

nossa da vontade de reescrever tudo!

Valeu pela atenção!
Protheusx :smiley:

ViniGodoy

Tem vezes que fazer isso é mais fácil. Nem que seja aos poucos.

Criado 27 de janeiro de 2010
Ultima resposta 28 de jan. de 2010
Respostas 4
Participantes 4