php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-03-2006, 19:16
Cedric
 Newbie
Links : Onlinestatus : Cedric ist offline
Registriert seit: Jan 2003
Beiträge: 9
Cedric ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP5 Exceptions (bin ich zu doof??)

Hi,
ich rätsle hier über ein Problem, dass ich nicht verstehe.
Es geht um Exception handling in PHP5.

also ich habe 3 klassen, die alle von einander erben (die parameter sind immer die der konstruktoren):

Exception (PHP5 intern)
--- SystemException($errorsignal, ...)
-------- IOException ($errorsignal, $filename)
--------------- FileNotFoundException($filename)


und eine ExceptionCollection klasse die direkt von SystemException konstruktor gefüttert wird. (ist auch nicht so wichtig, nur da ist mir der fehler erst aufgefallen.

Nun zum Problem:
also ich werfe FileNotFoundException('test.xml'). der konstruktor macht eigentlich nur:
parent:__construct("FileNotFound", $filename)

und die IOException::__construct($signal, $filname) macht im prinzip nur:
parent::__construct($signal, $filename)


SystemException macht dann die verarbeitung der exception und das hinzufügen zur ExceptionCollection

was ich nun nicht verstehe: ich habe obwohl ich FileNotFoundException nur einmal werfe zwei einträge in die ExceptionCollection. (Beide einträge vom typ: Object FileNotFoundException)


wenn ich mal einfach nur ein paar ausgaben rein machen sieht man das sowohl SystemException, als auch IOException zweimal ausgeführt werden (dadurch dann auch der doppelte eintrag in der collection) FileNotFoundException dagegeben nur einmal.

Aber es kommt noch bunter:

wenn ich jetzt in der FileNotFoundException::__construct() den aufruf der parent::__construct() aus kommentriere führt er den IOException::__construct trotzdem (einmal) aus noch noch besser ist er weiß sowohl das richtige $errorsignal also auch den $filename (es wird nicht in irgendwelche eigenschaften gespeichert oder ähnliches)

vielleicht könnt ihr mir das ja mal erklären?
hier noch ein paar code ausschnitte:

Code:
class SystemException
 extends Exception
{
        function __construct($errorsignal)
        {
             //...
            SystemExceptionCollection::Add($this);
        }
}

class IOException
 extends SystemException
{
        function __construct($errorsignal, $filename)
        {
             parent::__construct($errorsignal, $filename);
        }
}

class FileNotFoundException
 extends IOException
{
        function __construct($filename)
        {
             parent::__construct("FileNotFound", $filename);
        }
}
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 05-03-2006, 12:33
Cedric
 Newbie
Links : Onlinestatus : Cedric ist offline
Registriert seit: Jan 2003
Beiträge: 9
Cedric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hat sich erledigt...

irgendwie hat ZendStudio eine zeile unterschlagen... als ich das script kopiert habe, standen dort plötzlich zwei parent::__construct()...

trotzdem danke für jeden der sich gedanken gemacht hat
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.7.0 Bootstrap 4

Formmailer v1.7.0 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

16.04.2020 arne-home | Kategorie: PHP/ Formular
Upload v1.1.0 Bootstrap

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

16.04.2020 arne-home | Kategorie: PHP/ File
Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:44 Uhr.