2016-03-23 13 views
1

Ich schreibe eine Klasse, um eine CSV-Datei mit Daten aus der DB zu downloaden.
Die Methodik I ist verwendet als
1. Ein Hauptverfahren folgt die
zB andere Methoden aufruft:Wie Validierungsfehler von Methoden in PHP anzuzeigen

public function main(){ 
    $this->a(); 
    $this->b(); 
    $this->c(); 
} 

suppose Verfahren eine Validierung ist, b der Ausführung der Abfrage und c-Datei herunterladen ist. Diese 3 Methoden haben Chancen, Fehler zu erzeugen, zB: Fehler in der Abfrageausführung, Fehler beim Download usw.

Wenn ich jemals Fehler in einer dieser Methoden habe, muss ich zurück und den Fehler anzeigen. Was ist der beste Weg, damit umzugehen?

Antwort

1

Wenn Sie jeder Methode einen Rückgabewert geben, können Sie eine Null zurückgeben, wenn die Methode keine Fehler oder einen Wert ungleich Null hatte, der Ihren Fehler darstellt, wenn ein Fehler aufgetreten ist. Lassen Sie Ihre Hauptfunktion das Ergebnis jeder Methode untersuchen, um festzustellen, ob Fehler aufgetreten sind, und wenn ja, zeigen Sie sie an. Der Code zum Erfassen des Rückgabewerts, der angibt, ob ein Fehler aufgetreten ist oder nicht, könnte wie folgt aussehen:

public function main(){ 
    if ($this->a() != 0) { 
     // Display the error represented by the return code 
    } 
    if ($this->b() != 0) { 
     // Display the error represented by the return code 
    }   
    if ($this->c() != 0) { 
     // Display the error represented by the return code 
    } 
+0

können wir dies mit Ausnahme machen? Wenn möglich, erklären Sie ein wenig. Bin nicht gut in Ausnahmebehandlungscode. – Thejas

+0

Ich bin nicht ganz sicher, was Sie fragen, aber Sie können sowohl eigene Tests für die erfolgreiche Ausführung erstellen als auch Fehler erfassen. Um Ausnahmen behandeln zu können, können Sie immer try - catch - Blöcke verwenden, damit Sie den Fehler behandeln können, anstatt es PHP zu erlauben, für Sie Fehler zu machen. Auf diese Weise können Sie entscheiden, welche Aktion ausgeführt wird, wenn ein Fehler auftritt, anstatt dass Ihr Programm zu diesem Zeitpunkt unvorhergesehen abstürzt. –

Verwandte Themen