Ergebnis 1 bis 9 von 9

Thema: [PHP] MyException extends Exception

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Jesus_666
    Natürlich sind Exceptions toll. In Java sind sie noch besser, weil eine Integerfunktion nicht einfach false zurückgeben kann, wenn was nicht klappt. Nein, dazu muß man erst eine Exception einbauen...
    Ist das nicht generell der Sinn bei Exceptions, dass man trotz genormter Schnittstellen etwaige Fehler beheben kann, die nicht dem Rückgabewert entsprechen, und der Entwickler, der deine Funktion verwendet auch darauf reagieren kann und sein Programm fehlerfreier und sicherer gestalten kann? Ich für meinen Teil wäre ziemlich verstört, wenn ich einen int erwarte, und mir die Funktion false herausspuckt, wobei ich obendrein nicht einmal wissen muss, dass die Funktion überhaupt dieses Verhalten an den Tag legt. Wenn mich der Compiler allerdings warnt, dass hier eine Exception geworfen wird, auf die ich regieren kann, sieht die Sache natürlich ganz anders aus... . Also um ehrlich zu sein, halte ich Exception Handling für das absolut genialste Fehlerbehebungssystem, dass eine Sprache überhaupt bieten kann, und wäre froh, wenn es einen ähnlichen Mechanismus auch in C gebe (... den lächerlichen C++ try/catch Versuch ausgenommen) --> error codes sind einfach nicht das Wahre.

    Entschuldigung für Semi-Off-Topic.

  2. #2
    Zitat Zitat von MuadDib
    [...] (... den lächerlichen C++ try/catch Versuch ausgenommen) [...]
    Was ist an dem so schlecht? Ich kenn mich mit Java nicht sonderlich aus, also weiß ich nicht, was da besser ist, aber ich kann mir irgendwie keinen großen Unterschied vorstellen.

    P.S.: Ja, Off-Topic, aber das ist mir egal. o.o Notfalls kann mans ja ins Progforum verschieben und umbennen oder nen neuen Thread aufmachen oder was auch immer.

  3. #3
    Zitat Zitat von Dingsi
    Was ist an dem so schlecht? Ich kenn mich mit Java nicht sonderlich aus, also weiß ich nicht, was da besser ist, aber ich kann mir irgendwie keinen großen Unterschied vorstellen.

    P.S.: Ja, Off-Topic, aber das ist mir egal. o.o Notfalls kann mans ja ins Progforum verschieben und umbennen oder nen neuen Thread aufmachen oder was auch immer.
    Soweit ich mich erinnere (und ich lasse mich gerne eines besseren belehren), ist es in C++ nicht möglich (bzw. hab ichs in der Anwendung noch nie so gesehen), die Methoden meiner Klassen so zu gestalten, dass der Benutzer dieser Klassen darauf hingewiesen wird, dass eine Exception geworfen wird und auch darauf reagieren muss - In Java hingegen muss auf diese Exception reagiert werden.
    Wie gesagt, ich lasse mich hier gerne eines besseren belehren, aber die Anwendungsfälle, die ich bislang gesehen habe, sind lediglich syntactic sugar um sich komplexere if-statements zu ersparen...

    Zitat Zitat von Jesus
    Ich persönlich bevorzuge PHP-artige Konstrukte wie if ($variable = IntegerFunktion($foobar)). Aber natürlich sind in einer strikt typisierten Sprache wie Java Exceptions die bessere Methode - nur für etwas syntaktischen Zucker muß man nicht gleich die ganze Sprache aufweichen.
    Klar, Dinge im nachhinein in eine Sprache einzubauen ist immer so eine Sache, vor allem, da die Leute sie meistens nicht verwenden... (sieh dir Java 1.5 an, ... wer braucht Templates? Die einzige sinnvolle Neuerung sind Annotations und System.out.printf(...)).
    Und da in PHP ja sowieso jede Variable vom Typ Variable ist, bieten sich solche Konstrukte auch an

  4. #4
    Zitat Zitat von MuadDib
    Soweit ich mich erinnere (und ich lasse mich gerne eines besseren belehren), ist es in C++ nicht möglich (bzw. hab ichs in der Anwendung noch nie so gesehen), die Methoden meiner Klassen so zu gestalten, dass der Benutzer dieser Klassen darauf hingewiesen wird, dass eine Exception geworfen wird und auch darauf reagieren muss - In Java hingegen muss auf diese Exception reagiert werden.
    Mag sein, dass ich dich Missverstanden habe, aber auch wenn der Benutzer nicht darauf hingewiesen wird, spätestens bei der ersten nicht aufgefangenen Exception wird er es doch merken.

    Geändert von Latency (14.04.2005 um 22:18 Uhr)

Berechtigungen

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