php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2005, 00:51  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: Fehler abfangen in Klassen

Zitat:
Zitat von meikel
Ich vermisse auch noch eine Fehlerklasse für die Fälle, daß einer den Stecker gezogen hat u/o das Netzteil explodiert ist.
Deine Vergleiche sind wie immer grossartig. Ein gescheitertes SQL-Query kann man abfangen. Als Vergleich dazu Situationen anzuführen, die nicht abgefangen werden können ist als würdest Du einem angehenden Arzt sagen, der Arztberuf sei sinnlos, weil z.b. deine Grossmutter schon tot ist und ein Arzt ihr nicht mehr helfen kann.
Eigentlich hast Du nichts zum Thema gesagt

Zitat:
Zitat von meikel
... und immer schön zwischendurch mal den Apachen fragen ob er noch lebt oder gerade vom Admin neu gestartet wurde.
Kann in Ausnahmefällen durchaus Sinn machen. In der Regel wird das script sich nur dafür interessieren, ob es noch läuft, und das kann man nicht abfragen. Ob die Daten noch ausgeliefert werden können, kann durchaus relevant sein, so sollte ein endlos-Stream zwischendurch mal abfragen, obs denn noch nen Empfänger gibt.

Zitat:
Zitat von meikel
Wahrscheinlich liegt das daran, daß ich ein schreibfauler Sack bin und absolut keine Lust dazu hätte, eine wüste Fehlerklasse zu schreiben.
Das wüsteste dürften deine Vorstellungen von Fehlerklassen sein. Exception werfen, irgendwo wieder fangen, fertig.
Fehler, die von aussen an einen ran getragen werden (z.B. von MySQL), sollte man auch übernehmen und entsprechend bewerten. Ob das einen Abbruch Wert ist hängt vom einzelnen Fehler ab.

Zitat:
Zitat von meikel
Meine Script [b]müssen nicht modern aussehen
Erzähl das nem Verkäufer, der Dir einen 10 Jahre alten Computer verkauft, der in ein neues Gehäuse gesteckt wurde.
Lass Leute, die wissen, was bei den modernen Sachen innendrin anders ist, bitte in Ruhe.

Zitat:
Zitat von meikel
schnell und sicher funktionieren
Bleibt die Frage, wie sicher sie funktionieren, wenn Du z.B. sogar davon ausgehst, der Benutzer hat nie mehr als ein Fenster offen...


Zitat:
Zitat von meikel
"Der Wurm muß dem Fisch schmecken und nicht dem Angler."
Alter Spruch, immer noch Unsinn, zumindest so lange es nicht ums Angeln geht. Und selbst da... wieviele Angler hast Du erlebt, die ihre Köder verkosten?
Wieviel die eigene Arbeitszeit und wieviel die Zeit des Computers wert ist, muss individuell abgeschätzt werden. Übersimplifizierende Vergleiche, die vom Kernpunkt ablenken, bringen gar nichts.
__________________
mod = master of disaster
Waq ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2005, 14:47  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von VolkerK
Ja, Fehlerklasse finde ich auch in den meisten Fällen voll übertrieben. ... Aber dann für mich bitte gleich als Exception. Flags oder dwLastError mit sich rumschleppen ...och, habsch einfach keine Lust mehr drauf.
Da ich faul bin, verwende ich dafür Konstanten. Die muß man nicht rumschleppen, weil sie global sind.

Die DB Klasse gibt entweder ein Array oder eine Fehlernummer zurück.
Das aufrufende Script setzt dann im Fehlerfalle ein Errorflag, damit die Routine, die sonst den Content ins Template bastelt,weiß, was sie stattdessen zu tun hat. Prinzipiell also eine Wächterfunktionalität.

Zitat:
Ich habe mich früher auch dagegen gewehrt, aber exceptions sind wirklich nett - sofrn die Menge unterschiedlicher exceptions übersichtlich bleibt.
Ich wehre mich gegen nix, wenn es sinnvoll ist und mir Schreibarbeit erspart. Klassen finde ich deshalb dufte, weil man dort einer Funktionssammlung einen eigenen Namensraum spendieren, weil man so eine Kapselung erreichen und sozusagen mit Baugruppen hantieren kann. Das macht Sinn. Bei Try/Catch als Ersatz für (simples Beispiel!)
Code:
if(machwas())
 mach_weiter();
else
 da_ging_was_schief();
habe ich so meine Zweifel. Zumal ich hier den Verdacht hege, daß damit eher die Java_Fans angefüttert werden sollen.

Zitat:
Kein nutzloser Test vorher, ob die Datei da ist (wer weiss, vielleicht ist es eine Pfadangabe, die ich nicht mit z.B. is_file abtesten kann)
Entscheidend ist vor dem Leseversuch das Ergebnis von is_readable().
Du machst das mit try/catch, ich mit is_readable(). Vermutlich wäre meine Version schneller...

Zitat:
und keine 50 nutzlosen "ich habe den Fehler auch gesehen"-extra-catches. UND... ganz sicher keine MyPictureClassCannotFindTheImageFileException
<ggg>
Zitat:
Aber wenn der Teil für "auch gerade online: x, y und z" (oder ähnlich überflüssige Dinge) versagt, dann lasse ich nicht den Rest abbrechen.
Das ist auch richtig so. Allerdings arbeite ich mit einem DB basierten Session Handler...
 
Alt 25.06.2005, 15:12  
Gast
 
Beiträge: n/a
Standard Re: Fehler abfangen in Klassen

Zitat:
Zitat von Waq
Zitat:
Zitat von meikel
Ich vermisse auch noch eine Fehlerklasse für die Fälle, daß einer den Stecker gezogen hat u/o das Netzteil explodiert ist.
Deine Vergleiche sind wie immer grossartig.
Du verwechselst da Sarkasmus mit Vergleich.

Zitat:
Ein gescheitertes SQL-Query kann man abfangen.
Die "Gründe", weshalb auf Deinen Kisten ein Query scheitern könnte, führtest Du ja bereits an.

Fakt ist:
Wenn in einer DB basierten Anwendung der SQL Server Schluckbeschwerden hat, ist eine weitere Ausführung des ursprünglichen Scriptes sinnlos. Wozu auch - was will man noch anzeigen, wenn man nicht mehr an die Daten rankommt?

Fakt ist auch, daß man zeitintensive u/o kritische Vorgänge in der Shell erledigt. Wer keine Shell hat, der soll sich eine kaufen.

Ein Admin, der janz locker mal den SQL- oder HTTP-Server ums Haus fährt, damit reihum die Scripte auf die Fresse fallen, ist berufsunfähig.

Zitat:
Als Vergleich dazu Situationen anzuführen, die nicht abgefangen werden können ist als würdest Du einem angehenden Arzt sagen, der Arztberuf sei sinnlos, weil z.b. deine Grossmutter schon tot ist und ein Arzt ihr nicht mehr helfen kann.
Ach? Das soll ich wirklich geschrieben haben?

Zitat:
Eigentlich hast Du nichts zum Thema gesagt
Lern einfach mal lesen, Waq. Falls Dir das zuviel ist, meine Texte zu verstehen, dann kommentiere sie einfach nicht.

Zitat:
Zitat:
Zitat von meikel
... und immer schön zwischendurch mal den Apachen fragen ob er noch lebt oder gerade vom Admin neu gestartet wurde.
Kann in Ausnahmefällen durchaus Sinn machen.
Nein, Du weißt nicht wirklich, was Du schreibst.

Zitat:
In der Regel wird das script sich nur dafür interessieren, ob es noch läuft, und das kann man nicht abfragen.
Niedlich.

Dosiere Deinen unfreiwilligen Humor etwas. Lachen ist zwar gesund für mich, aber nur die Dosis macht das Gift.
 
Alt 25.06.2005, 17:42  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: Fehler abfangen in Klassen

Zitat:
Zitat von meikel
Die "Gründe", weshalb auf Deinen Kisten ein Query scheitern könnte, führtest Du ja bereits an.
Typisches Verhalten von Dir. Was Dir nicht in den Kram passt, einfach nicht ernst nehmen. Steckst du Dir dazu auch die Finger in die Ohren und summst?
Die Gründe, warum SQL-Queries scheitern können, sind vielfältig, ich hab nur aufgezählt, was mir auf die schnell eingefallen ist.
Dass viele davon in der "meikel macht alles selber und bei meikel gibts sowas nicht"-Welt nicht vorkommen werden ändert nichts daran, dass die meisten nicht in dieser Welt leben.

Zitat:
Zitat von meikel
Wenn in einer DB basierten Anwendung der SQL Server Schluckbeschwerden hat, ist eine weitere Ausführung des ursprünglichen Scriptes sinnlos.
Das mag bei deinen Scripten stimmen, dass Du es für allgemeingültig hälst verdeutlicht nichts weiter als deine Beschränktheit.
Wenn man z.B. ein phpBB-Mod baut, welches in der Ecke das Wetter anzeigt, sollte dann das gaze phpBB sterben, wenn der Admin vergessen hat, die Konfigurations-Tabellen für das Wetter-Mod zu installieren?

Zitat:
Zitat von meikel
Fakt ist auch, daß man zeitintensive u/o kritische Vorgänge in der Shell erledigt. Wer keine Shell hat, der soll sich eine kaufen.
Fakt ist, dass Du Dir dieses Thema aus dem Ärmel geschüttelt hast, und ich keine Ahnung habe, warum Du mich damit vollaberst.
Fakt ist auch, dass Du hier Unsinn redest. Vorrausgesetzt, man hat genug Kontrolle über Dinge wie das time-limit und im Zweifelsfall auch das Memory-Limit, kann man auch sowas wunderbar in PHP machen.
es gibt gute Gründe auf die shell zu gehen, aber das hier sind keine.

Zitat:
Zitat von meikel
Lern einfach mal lesen, Waq.
Dein unbegründeter Vorwurf, man könnte nicht lesen, wenn Du Unsinn geschrieben hast, wird langsam alt.

Und da Du immer noch praktisch nichts zum Thema gesagt hast... warum reisst Du die Fresse dabei soweit auf?
__________________
mod = master of disaster
Waq ist offline  
Alt 25.06.2005, 17:49  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von meikel
Bei Try/Catch als Ersatz für (simples Beispiel!)
Code:
if(machwas())
 mach_weiter();
else
 da_ging_was_schief();
habe ich so meine Zweifel. Zumal ich hier den Verdacht hege, daß damit eher die Java_Fans angefüttert werden sollen.
Wenn man Exceptions einführt und alle Strukturen so lässt, wie sie waren, bringt das natürlich nichts.
Exceptions können einem Haufenweise Schreibarbeit ersparen, weil man Exceptions nicht direkt fangen muss, sondern einfach weiter oben im Code sammeln kann. Nur wenn Code im Fehlerfall hinter sich aufräumen muss, hat er auch seine Exceptions selber zu fangen.
Damit machen auch Exceptions, die von gescheiterten SQL-Queries geworfen werden, so wenig Arbeit, dass das kaum die Diskussion Wert ist.

Ausserdem ist das nur eingebildete Schreibarbeit, oder kann dein Editor sowas nicht auf Knopfdruck einfügen?
__________________
mod = master of disaster
Waq ist offline  
Alt 25.06.2005, 18:00  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von meikel
Ich wehre mich gegen nix, wenn es sinnvoll ist und mir Schreibarbeit erspart. Klassen finde ich deshalb dufte, weil man dort einer Funktionssammlung einen eigenen Namensraum spendieren, weil man so eine Kapselung erreichen und sozusagen mit Baugruppen hantieren kann. Das macht Sinn. Bei Try/Catch als Ersatz für (simples Beispiel!)
Code:
if(machwas())
 mach_weiter();
else
 da_ging_was_schief();
habe ich so meine Zweifel. Zumal ich hier den Verdacht hege, daß damit eher die Java_Fans angefüttert werden sollen.
lol meikel von dir hätte ich quallifizierterer Kommentare erwartet... Exceptions sind zwar von Java kopiert aber dennoch ne feine Sache weil man damit ein schönes Fehlerbehandlungskonzept in seÃ*ne Klassen einbauen kann und im eigentlichen Script super drauf reagieren kann da kommt die normale Fehlerbehandlung von PHP selbst nicht drann und es erleichtert bei schwierigen Sachen ungemein das komplette Coding

aber ich denke eher du bist ein Java-Feind sonst würden nicht solche Kommentare kommen
HStev ist offline  
Alt 25.06.2005, 19:26  
Gast
 
Beiträge: n/a
Standard

Naja, die exceptions von c++ sind auch ganz nett und Ihr Java-Schweine habt sie einfach ...geborgt

Ein Vorteil von exceptions ist, dass sich der Code nicht vor Ort und Stelle und auf allen Ebenen mit der Fehlerbehandlung rumschlagen muss, sondern nur/erst dort, wo es anwendungsbezogen Sinn macht.
Ausserdem wird die Behandlungskette nicht durch Vergesslichkeit (z.B. beim Einschieben einer neuen Schicht - "ja, wir können diese Dateioperationen jetzt auch mit verschiedenen Archivtypen") gestört. Will ich die Behandlung per exception stören, muss ich aktiv eingreifen/Code schreiben; gegen bösartige Dummheit schützt das natürlich nicht
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Include fehler abfangen? fadass PHP Tipps 2005-2 16 23.12.2008 13:07
Fragen zu Klassen Kein Genie PHP Tipps 2006 3 08.05.2006 11:25
Sessions an includete Klassen übergeben Dr_Enquinox PHP Tipps 2006 4 29.04.2006 10:25
Einen Fehler bei Datein mit Klassen PHP Tipps 2006 3 17.03.2006 22:14
Fehler abfangen nieselfriem PHP Tipps 2005-2 2 10.10.2005 17:11
Fehler abfangen bei Eintrag in DB Crypi PHP Tipps 2005-2 15 18.08.2005 15:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Fehler abfangen bei MySQL Abfrage Dave Waterstone PHP Tipps 2005 4 21.02.2005 15:15
eval fehler abfangen PHP Tipps 2005 9 18.02.2005 19:37
[Erledigt] Alle Fehler außer Notice abfangen ? PHP-Fortgeschrittene 7 05.12.2004 16:39
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
php-variblen Fehler mit JavaScript abfangen möglich? HTML, Usability und Barrierefreiheit 2 27.10.2004 01:08
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
usability fehlerklassen, html website fehler abfangen, c sql fehler abfangen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.