2017-09-20 4 views
0

Ich versuche, einen try/catch-Block zu verwenden, um einige Fehlerbehandlung für ein benutzerdefiniertes WordPress-Plugin hinzuzufügen, das Tweets über die Twitter API erhält.Ich kann nicht herausfinden, geworfen Ausnahme

Zu Testzwecken werfe ich eine Ausnahme in meiner Klasse Konstrukt-Methode.

class Twitter_Settings() { 

    public function __construct() { 
     throw new \Exception('test'); 
    } 
} 

dann in meiner Plugin-Datei, ich tue:

function twitter_init_settings() { 
    try { 
     return new Twitter_Settings(); 
    } catch (Exception $e) { 
     echo $e->getMessage(); 
    } 
} 

twitter_init_settings(); 

auf dem Frontend, wo ich $tweets = twitter_feed()->output_feed(); bin auszuspucken (mit einer foreach-Schleife danach) ich eine abgefangene Ausnahme Störung erhalten. Seltsamerweise zeigt es die benutzerdefinierte Nachricht "Test", also muss es über meine Ausnahme wissen, also warum sagt es, dass es nicht gefunden wurde?

+2

Vermutlich Instanziierung von 'Twitter_Settings' Objekt woanders –

Antwort

0

abgefangene Ausnahme Fehler passieren, während eine Ausnahme nicht abgefangen wird (in try catch-Anweisungen)

die Rückkehr statment entfernen, weil der Fang nicht erreicht werden könnte.

Verwandte Themen