Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460

    Eccezioni e chiamata a metodo non esistente

    Ciao a tutti,

    riportando un metodo che uso comunemente in Java, vorrei fare quanto segue:


    codice:
    try {
        String methodToCall = new String("methodName");
        myObject.invokeMethod(methodCall);
    }
    catch (Exception e) {
        System.out.println("The method you tried to call does not exist");
    }
    In PHP ho provato a fare cosi', ma non ottengo una eccezione , bensi' un errore di runtime.

    codice:
    $metodoDaChiamare = "nomeMetodo";
    $mioOggetto->$metodoDaChiamare();
    Come risolvo?
    There are 10 types of people in the world - those who understand binary and those who don't.

  2. #2
    se mi posti l'errore preciso, magari riesco a darti qualche info in piu'

    spero di nn dire baggianate, ma nn sono sicuro che in php tu possa lanciare un metodo il cui nome sia contenuto in una variabile. Piuttosto io userei la call_user_function. Personalmente nn l'ho mai provata, ma questo codice d'esempio preso su php.net sembra abbastanza chiarificatore:

    codice:
    class myclass {
       function say_hello()
       {
           echo "Hello!\n";
       }
    }
    
    $classname = "myclass";
    
    call_user_func(array($classname, 'say_hello'));
    Anche la funzione method_exsist magari puo' aiutarti

    codice:
    bool method_exists ( object object, string method_name )
    per quanto riguarda le eccezioni...beh...le funzioni buildin di php raramente lanciano eccezioni. Magari potresti encapsulare una delle due funzioni che ti ho dato sopra in una classe e definirle in modo che lancino le eccezioni, se proprio ti servono...
    Gabriele B. - http://9thcircle.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.