| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 30.07.2008
Beiträge: 1.129
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | Zitat:
Technisch meint, dass z. B. ein Fehler in der DB auftritt - Das soll nun natürlich nicht beim Benutzer ankommen, für die Applikation bzw. der Entwickler ist es hingegen schon wichtig, das mitzubekommen. An so einer Stelle hat es sich m. E. nach durch gesetzt, dem Benutzer eine allgemeingültige Fehlermeldung zu präsentieren (Z. B. "Ein technischer Fehler ist aufgetreten. Bitte versuchen Sie es in ein paar Minuten noch einmal"), oder den Grund andernweitig zu verschleiern. Das sollte man allerdings natürlich so gering wie möglich halten | |
| | |
| | |
| Neuer Benutzer Registriert seit: 25.07.2010
Beiträge: 27
PHP-Kenntnisse: Fortgeschritten ![]() | Muss eigentlich eine Exception immer ein Fehlerfall sein? Ich hatte mal einen Sudokusolver geschrieben. Der hat diverse Lösungsalgorithmen durchgeackert, auf verschiedenen Ebenen: Feld - Zeile, Spalte, Block - Zelle. Im Endefekt waren es mehrere geschachtelte Schleifen. Je nachdem, wo eine Lösung gefunden wurde, habe ich ein Lösungsobjekt zurückgegeben, also über mehrere Iterationsstufen von unten nach oben. Ein erfahrener JAVA-Entwickler meinte, ich solle besser eine Solving-Exception auslösen - ich habe mich aber letztendlich doch dagegen entschieden. Was meint ihr, ist das ein Missbrauch von Exceptions, oder ein legitimes Vorgehen? |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Naja, @beide Fragesteller, diese Frage kann man nicht allgemeingültig beantworten und es gibt zum Glück nicht auch noch dafür ein Gesetz oder eine verbindliche Vorgabe. Die Verwendung und die Legitimation ist schon recht subjektiv, was den Solver anbelangt erreicht das Dimensionen wie die klassische Diskussion um vorzeitige Schleifenabbrüche oder gar die goto-Anweisung, die in PHP z.B. (aktuell noch) verpönt ist, in anderen Sprachen vielleicht Gang und Gäbe. Exceptions sind sehr mächtig, weil sie durch die gesamte Applikationsstruktur fließen, bis zum obersten Script des Aufrufsstacks. Das macht sie gleichermaßen gefährlich, weil man schnell die Übersicht verlieren kann - woher ein Fehler plötzlich kommt - wo zum Teufel mein frisch geworfener Fehler ausgewertet wird. Gerade, weil fehlererzeugender Kontext und aufrufender Kontext nicht zwingend vom selben Programmierer stammen müssen können diese Fragen schnell relevant werden. Kurz zur Auswertung: Sicher wird man zustimmen, dass eine Auswertung an oberster struktureller Ebene für den Anwennder kaum mehr Sinn macht - alle Ausgabe und grafischen Ebenen sind hier durchlaufen und der Nutzer bekommt bestenfalls eine Textmeldung. Eine grafische Auswertung (z.B. eine Fehlerseite im Seitenlayout) kann auf der anderen Seite vielleicht gar nicht funktionieren, weil das Layout aus Modulen oder gar Datenbankzugriffen gebildet wird. Tritt gerade dort der Fehler aus, kann das dann nicht funktionieren. Vielleicht mal ein paar Punkte zum Nachdenken.
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
| | |||
| Erfahrener Benutzer Registriert seit: 02.08.2010
Beiträge: 117
PHP-Kenntnisse: Anfänger ![]() | Danke für die Antworten! Zitat:
Also ich versteh schon wie du das meinst. Jetzt bin ich aber soweit zu sagen: - Exception nur dann, wenn die Applikation nicht weitergeführt werden kann (z.B. Datenbankzugriff fehlgeschlagen) -> einfache Fehlerseite mit einer Meldung wie von xm22 beschrieben. Ein eleganter Ersatz für die()?! hehe Zitat:
Keine Ahnung ob das Sinn macht. Ein Java-Entwickler würde wahrscheinlich die Hände über dem Kopf zusammenschlagen Ich kann natürlich nur auf Erfahrungen aus meinen Mini-Applikationen bzw. Spielerein zurückgreifen, in diesen Fällen ist aber dieses Vorgehen irgendwie logisch für mich. | ||
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Zip Archive mit PHP erstellen - Kein Fehler, aber ZIP Archiv ist nicht da | robat | PHP Tipps 2010 | 34 | 09.03.2011 20:17 |
| Funktion rename() auf USB-Festplatten bringt Fehler | Wing | PHP Tipps 2010 | 13 | 16.07.2010 23:00 |
| MySQL: Fehler 10046 keine Datenbank ausgewählt | aschunk | Datenbanken | 5 | 22.04.2010 12:27 |
| [Erledigt] Syntax Error - Wo ist der Fehler? | Extremefall | PHP Tipps 2009 | 5 | 14.12.2009 17:46 |
| [Erledigt] vista, windows update Fehler 80070422 | Screeze | Off-Topic Diskussionen | 3 | 23.09.2009 18:24 |
| [Erledigt] Fehler bei Array ausgabe | newWorldOrder | PHP Tipps 2009 | 2 | 23.02.2009 17:29 |
| Include fehler abfangen? | fadass | PHP Tipps 2005-2 | 16 | 23.12.2008 13:07 |
| Frage: Suche Fehler in diesem Script... | PHP Tipps 2005-2 | 14 | 25.10.2005 19:24 | |
| [Erledigt] [phpmailer] - SMTP Fehler: Die folgenden Empfänger sind ... | PHP Tipps 2005-2 | 1 | 05.10.2005 15:19 | |
| Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar | PHP-Fortgeschrittene | 19 | 31.05.2005 14:52 | |
| Blöder MySQL Fehler | PHP Tipps 2005 | 3 | 15.05.2005 03:14 | |
| Fehlermeldung - aber kein fehler... | Tschuu | HTML, Usability und Barrierefreiheit | 16 | 14.03.2005 15:56 |
| [Erledigt] Wo liegt der fehler?? | PHP-Fortgeschrittene | 5 | 22.12.2004 09:54 | |
| array_push nur in begrenzter Anzahl ausführen ? | PHP Tipps 2004 | 2 | 07.09.2004 09:05 | |