Uncaught Exceptions unter Windows [Gelöst]

  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    14. 02. 2008, 11:51

    Hallo,

    ich habe ein kleines Problem mit dem Exception-Handling. Auf meiner Windows-Umgebung werden keine Exceptions gefangen. Folgender Beispielcode bringt mir [b]Fatal error: Uncaught exception 'Exception' with message 'D'oh'[/b]:

    1. try {
    2. $num = 10;
    3. if ($num < 20) {
    4. throw new Exception("D'oh!");
    5. }
    6. $foo = "bar";
    7. } catch(Exception $exception) {
    8. t3lib_div::debug($exception->getMessage(), 'Exception');
    9. }

    Ich verwende PHP5.2.1 und TYPO3 4.1.3. Der gleiche Test unter Linux mit PHP 5.1.2 funktioniert fehlerfrei. #paralyzed#

    Ich bin mir nun nicht ganz sicher, ob ich Exceptions verwenden kann. Die Zielumgebung ist zwar Linux, aber ich würde gern böse Überraschungen vermeiden.
    Hat jemand Erfahrung damit?


  • 1
  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    14. 02. 2008, 12:24

    Das Beispiel ist mir noch nicht ganz klar.

    1. t3lib_div::debug($exception->getMessage(), 'Exception');

    Wo finde ich denn die Funktion $exception->getMessage()?

  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    14. 02. 2008, 12:38

    Hi,

    getMessage() ist eine Methode der PHP-Klasse Exception.

    http://de3.php.net/manual/de/language.exceptions.php

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    14. 02. 2008, 15:51

    Der Beispielcode läuft bei mir fehlerfrei mit dem gewünschten Ergebnis
    (WinXP, Apache, PHP 5.2.1)

  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    14. 02. 2008, 16:01

    Danke für den Test! Ich hab's inzwischen auch noch auf einem anderen Windowsserver ausprobiert und auch dort wurde die Exception korrekt gefangen.
    Es scheint sich also um ein lokales Problem zu handeln. :)

  • 1