Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > trigger_error vs throw exception
Antwort
 
Themen-Optionen
Alt 16.07.2008, 22:46   Nach oben    #1
DasMööp
Erfahrener Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 219
Standard trigger_error vs throw exception

Hallo,

bei einem Exception bzw. Errorhandling stehen ja diese Optionen zur Verfügung (zB.

trigger_error("zero", E_USER_ERROR);
trigger_error("zero", E_USER_WARNING);
trigger_error("zero", E_USER_NOTICE);

oder

throw new Exception('blaEXCEPTION');

bei einer definition zuvor von:

set_exception_handler(array('handle_exception', 'handleException'));
set_error_handler(array('handle_exception', 'handleError'), E_ALL);

kommt bei mir die Frage auf warum den error_handler setzen, wenn es soweit gelesen, Sinnvoller ist nur mit Exception zu werkeln !?

Hat ersteres (trigger/error_handler) eher was mit prodenzualem Code zu tun ?
Und bei OOP im prinzip nur Exceptions ? ... richtig ?

Oder habe ich evtl. Seiten überblättert ... ? bzw. mich nur auf nen Holzweg verlesen !?
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2008, 03:14   Nach oben    #2
robo47
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

Der Haupt-Vorteil von Exceptions liegt eigentlich darin, dass man Probleme "vor Ort" innerhalb des try/catch-Blocks lösen kann bzw. abhängig davon weiterverfahren.

Soetwas wie try/catch gibt es für Fehler nicht direkt, man kann aber auch z.b. einen Errorhandler verwenden, der z.b. für jeden aufgetretenen Fehler eine Exception wirft um die dann auch "vor Ort" im zu verarbeiten.

Interessant zum Thema Exceptions kann auch das hier sein: http://professionelle-softwareentwic...xceptions.html

Allgemein bieten Exceptions eine bessere Möglichkeit Fehler zu behandeln.

Will man mit PHP nur mit Exceptions arbeiten, bleibt einem nichts übrig als einen Error_Handler zu schreibne der für Fehler Exceptions wirft, wenn man dann seine try/catch-Blöcke ordentlich setzt, braucht man auch nicht unbedingt noch einen Exception-Handler.

Mit einem Exception-Handler könnte man aber beispielsweise dann beim auftreten gewisser Exceptions direkt das Programm abbrechen mit passender Fehlermeldung ohne dafür extra try/catch-blöcke irgendwo im Code zu haben (z.b. beim Einsatz fremder Klassen wenn man dort Fehler schon frühzeitig abfangen will, ohne den Code dieser Klassen zu verändern), man kann damit quasi global reagieren, oder auch man nutzt ihn zum loggen von Exceptions. Im Produktiv-System kann man das z.b. mit nem Mailingsystem koppeln und lässt sich ne Email schicken sobald ein System irgendwo eine Exception geworfen hat.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2008, 22:31   Nach oben    #3
DasMööp
Erfahrener Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 219
Standard

Hmm, und das Thema mag ich irgendwie immer noch nicht

Habe eigentlich bislang auch nur mit Exceptions gearbeitet, egal ob das ein
Fehler war oder eine bedingte durch Exception durch zB. eine fehlende Berechtigung.

Werde wohl daran fest halten. Bevor ich mich nochmehr damit rum ärgere, scheine aber den eher besseren Pfad gewählt zu haben.

thx
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.07.2008, 18:34   Nach oben    #4
DasMööp
Erfahrener Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 219
Standard

Zitat:
Will man mit PHP nur mit Exceptions arbeiten, bleibt einem nichts übrig als einen Error_Handler zu schreibne der für Fehler Exceptions wirft, wenn man dann seine try/catch-Blöcke ordentlich setzt, braucht man auch nicht unbedingt noch einen Exception-Handler.
Hmm, wenn ich in dem Error handling einfach eine exception öffne.

Damit bekommt man aber leider falsche Infos zB. dann die Infos eben
von dieser exception und nicht die Infos wo der Error entstand.

Hmmm ...
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.07.2008, 20:20   Nach oben    #5
robo47
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

Zitat:
Zitat von DasMööp Beitrag anzeigen
Zitat:
Will man mit PHP nur mit Exceptions arbeiten, bleibt einem nichts übrig als einen Error_Handler zu schreibne der für Fehler Exceptions wirft, wenn man dann seine try/catch-Blöcke ordentlich setzt, braucht man auch nicht unbedingt noch einen Exception-Handler.
Hmm, wenn ich in dem Error handling einfach eine exception öffne.

Damit bekommt man aber leider falsche Infos zB. dann die Infos eben
von dieser exception und nicht die Infos wo der Error entstand.

Hmmm ...
Nein, man muss sich einfach nur seine eigene Exceptionklasse basteln die man wirft mit den richtigen Daten initialisieren, in dem Array das debug_backtrace() zurückliefert, findet man alle Informationen die man braucht, oder die Exception die man wirft.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.07.2008, 00:55   Nach oben    #6
DasMööp
Erfahrener Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 219
Standard

hey, mal was neues

debug_backtrace() ->

werd mir das mal Ansehen, und nehme wohl schwer an das ich dann die
errors Richtung exception schicke ... und mir dann da die Infos hole.

Aber erschtma Lesen ... merci
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Exception wird ignoriert. Stattdessen Standard-Fehlermeldung Jojo PHP-Programmierung 11 17.11.2006 16:37
Exception aber wo? Sengi Allgemeine Java-Programmierung 1 04.01.2006 19:32
throws Exception trivial Allgemeine Java-Programmierung 2 19.10.2005 12:40
Eine art Dump ohne Exception? matt Allgemeine Java-Programmierung 1 20.07.2005 05:09
Exception in Interface abfangen?! `B Allgemeine Java-Programmierung 6 12.04.2005 20:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:58 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44