CodeIgniter und das Auslösen von Ausnahmen
Ich vor kurzem reichte ein Projekt für die Schule, die ich gebaut in CodeIgniter. Ich hatte es meiner Lehrerin und wenn Sie gefragt werden, wie ich behandelt bestimmte Fehler, erzählte er mir, um Ausnahmen abzufangen, die Dinge viel früher in der Kette der Ereignisse.
Habe ich gelernt, wie man exceptions werfen und wie try...catch
Blöcke, um, äh, zu fangen und mit Ihnen umzugehen, aber irgendwie, als ich anfing mit CodeIgniter, ich vergaß alles über Sie und habe nicht wirklich Ausnahmen mehr.
Stattdessen habe ich nur behandelt, mein Fehler, 'manuell', aus Mangel an einem besseren Wort: ich würde verwenden TRUE
und FALSE
booleschen Werte, um zu überprüfen, wenn beispielsweise eine Abfrage korrekt ausgeführt, und ich würde die Verwendung der zurückgegebenen booleschen Wert zu behandeln, der das Ergebnis der Abfrage. Wenn TRUE
würde ich voran gehen und tun, meine Sachen, wenn FALSE
ich würd 'manuell' werfen eine Fehlermeldung. Das Projekt war sehr AJAX-lastig und die Fehlermeldungen würde pop-up auf eine ziemlich ausgefallene Art, fallen vom oberen Rand der Seite; nicht sicher, ob dies möglich ist, wenn ich eine exception werfen mit throw new Exception
? Ich weiß, dass dies im Grunde Stoppt der code ausgeführt wird, wenn die exception geworfen wird, so wäre das nicht, brechen die Dinge irgendwie?
Ich darf auch daran erinnern, irgendwo gelesen, dass das auslösen von Ausnahmen ist nicht die beste Praxis überhaupt, aber ich nicht finden können, die Quelle dieser mehr und ich bin mir nicht ganz sicher, ob dies der Fall ist; schließlich haben wir auch erfahren, wie Sie in der Klasse, und ich mag zu glauben, dass wir lernen, best practices, haha.
Wenn nötig, ich könnte zurück gehen und versuchen, das Stück code, wo er darauf hinwies, dass ich haben sollte eine Ausnahme geworfen. Aber für jetzt, ich Frage mich nur, ob ich nicht verwenden sollten Ausnahmen in meinem code oder die Dinge handhaben manuell. Was sind die besten Praktiken in Bezug auf diese?
Dank.
InformationsquelleAutor der Frage cabaret | 2011-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur zur info, ich benutze nicht die Ausnahmen in CodeIgniter tho ich bin mit Ihnen viel in Kohana, nur weil der Rahmen wirft Sie und alles ist dafür ausgelegt, mit Ausnahmen im Gegensatz zu CodeIgniter. Mit Ausnahmen ist eine gute Praxis, die alle Ihre Klassen/Rahmen sind entworfen, um mit Ihnen zu arbeiten.
Ich nicht (wirklich NICHT) wollen geben Sie in framework-Vergleichs-Diskussionen, aber ich muss vergleichen Sie zwei Stücke von code, um zu klären, Ihre Frage, ein Stück von CI2 und ein anderes von Kohana 3 (es entstand als ein Zweig der CI mit bessere Objekt-orientierte Implementierung).
Du wirst sehen, diese CI2-code...
Es ist nicht sehr nützlich. Vergleichen Sie mit dieser Kohana 3 code:
Du wirst sehen, dies ist nützlich, Sie werfen nicht die Ausnahme, die ausgelöst wird durch die Klasse, mit der Sie den Datensatz speichern und die
$e->errors
hat alle Fehler. Wenn alles funktioniert, mit Ausnahmen, können Sie sicher sein, dass es eine gute Praxis und eine sehr bequeme. Aber es ist nicht der Fall, CI2, so vielleicht sollte ich sagen, gehen Sie vor, ohne mit Ausnahmen.Ein möglicher Ansatz, um Ausnahmen in der CI...
Ich hoffe, alles ist verständlich und vielleicht gibt es jemand mit einer anderen interessanten Meinung und eine effizientere Implementierung. Bye.
InformationsquelleAutor der Antwort Alejandro García Iglesias