O que tem de errado com a lógica deste meu programa?

4 respostas
alexswb

O que está errado com a lógica deste trecho. O eclipse gera um warning neste últime if… else…, dizendo que:
Statement unnecessarily nested within else clause. The corresponding
then clause does not complete normally

não entendi?!

public class LookupUtils {

    public LookupUtils() {

    }

    private Object getService(String url, Class ServiceType[]) throws Exception{

	Exception ex = null;
	Object item = null;
	if (System.getSecurityManager() == null)
	    System.setSecurityManager(new RMISecurityManager());
	
	try {
	    LookupLocator locator = new LookupLocator(url);
	    ServiceRegistrar registrar = locator.getRegistrar();
	    ServiceTemplate template = new ServiceTemplate(null, ServiceType, null);
	    item = registrar.lookup(template);	    
	    
	} catch (MalformedURLException mue) {	    
	    ex = mue;
	} catch (RemoteException re){
	    ex = re;	    
	} catch (Exception e){
	    e.printStackTrace();
	}
	
	if (item == null)
	    throw ex;
	else 
	    return item;
    }
}

4 Respostas

M

Significa que o else é desnecessário.

A expressão ( return item; ) poderia vir após o if.

Ficaria da seguinte maneira:

if (item == null)
    throw ex;

return item;
alexswb

ah tá!

awdrenfontao

[b]SIm sim… É isso mesmo que foi falado aí

alexswb

sim, eu percebi!

Criado 10 de agosto de 2006
Ultima resposta 11 de ago. de 2006
Respostas 4
Participantes 3