Ergebnis 1 bis 9 von 9

Thema: [PHP] MyException extends Exception

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [PHP] MyException extends Exception

    Auf der Suche nach ein wenig interessanteren Fehlerbehandlungsmöglichkeiten sind mir vor kurzem Exceptions in PHP5 untergekommen. Insbesondere die Möglichkeit Exceptions zu erweitern. Jedoch haben meine neuen Exceptions ein äußerst komisches verhalten.

    Denn zum einen muss meine Erbende-Klasse unbedingt die selbe Konstruktorsignatur haben wie Exception, zum anderen kann ich nicht auf meine Properties zugreifen.

    Aber nu erstmal ein wenig Code damit ich wisst was ich meine.
    PHP-Code:
    class LoginException extends Exception
        
    {
            private 
    $nick;
            private 
    $uid;
            private 
    $sid;
            
            
    /**
             * @param String Message The ErrorMessage to Display
             * @param Integer Code The ErrorCode of this Error
             * @param String/Integer User Nick of the User who is causing this
             * Exception
             */
            
    public function __consturct($message ""$code)
            {
                
    $this->nick "Test";
                
    $this->uid $_COOKIE['uid'];
                
    $this->sid session_id();
                
                
    parent::__construct($message$code);
            }
            
            public function 
    getNick()
            {
                return 
    $this->nick;
            }
            public function 
    getUID()
            {
                return 
    "jo";
            }
        } 
    Das wäre meine neu Exception. Nun werf ich die mal fröhlich durch den Interpreter.
    PHP-Code:
    try
    {
    $o = throw new LoginException("LoginError"0);
    }
    catch(
    LoginException $e)
    {
    echo 
    $e->getNick();
    echo 
    $e->getUID();

    So das müsste doch folgendes ausgeben:
    Code:
    Testjo
    Macht es aber nicht, irgendwelche Ideen warum?
    Im Grunde sollte es doch kein Problem sein, da ich doch bloß von der Exception-Klasse erbe, aber dennoch läuft der Code nicht.

    edit:
    Hilfe bin ich dumm

    Man sollte darauf achten __construct zu schreiben und nicht __conturct

    Jetzt geht alles, ich komm auf meine Eigenschaften, sowie den Konstruktor kann ich mir anpassen.

    edit2:
    Nichts desto trotz sind Exceptions toll, liest euch mal ein wenig ein.

    Geändert von Latency (12.04.2005 um 17:06 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •