Ankündigung

Einklappen
Keine Ankündigung bisher.

custom error handling für eine bestimmte zeile

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • custom error handling für eine bestimmte zeile

    Hallo,

    folgendes Problem: ich möchte gerne etwas, das zB in Java ungefähr so aussehen würde:

    PHP-Code:
    class Foo{

        public static function 
    foo($param){
            
    $function "aFunction";

            try{
                
    Foo::$function($param);

            }catch(
    ErrorException $ex){
                return 
    null;
            }
        }

        public static function 
    aFunction($param){
            
    //do something
        
    }

    D.h. wenn die Funktion die ich "dynamisch" aufrufe nicht gefunden wird, soll einfach null zurückgegeben werden. Das Problem ist jetzt, dass "call to undefined error" ein Error und keine Exception ist. Custom Error Handling würde gehen, kann man aber soweit ich weiß nur für ganze Klassen anwenden, ich möchte den Fehler aber nur für diese eine Zeile.

    Kann mir jemand helfen?

  • #2
    Hallo und Willkommen!

    Suchst du http://php.net/manual/de/functions.v...-functions.php ?

    PHP-Code:
    class Test {
      public static function 
    blub() {
        return 
    'foo';
      }
    }

    $func 'blub';

    echo 
    Test::$func(); 
    sollte auch keine Probleme machen!

    Gruß

    Kommentar


    • #3
      Sorry, mein Internet ist nicht ganz auf der Höhe, du hast wahrscheinlich nur meinen halben Beitrag gesehen :S

      Nein es geht mir nicht um den dynamischen Funktionsaufruf, der klappt schon, sondern was passiert, wenn es die aufgerufen Funktion nicht gibt.

      Dazu sollte ich vll noch sagen, dass der Funktionsname nicht wie im Beispiel im Code angegeben, sondern aus einer Datenbank ausgelesen wird.

      Kommentar


      • #4
        Dann prüfe doch mit http://www.php.net/manual/de/function.method-exists.php, ob die Methode überhaupt definiert ist.

        Kommentar


        • #5
          genau das habe ich gesucht, danke danke danke

          Kommentar


          • #6
            [MAN]is_callable[/MAN]

            Kommentar

            Lädt...
            X