php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2004, 21:15  
Gast
 
Beiträge: n/a
Standard try / catch block ..

Hallo zusammen,

in meiner Applikation kommt des öfteren so ein Konstrukt vor:

Code:
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$ADODB_LANG = 'en';

$this_db = &ADONewConnection("oci8");

if ( $this_db->PConnect("bla","user","pass")  === false) {
     include_once('dberror.inc.php');  
    // Anmerkung: die Include-Datei schließt mit die() ab.
}
.. eigentlicher code der Seite
Der Sinn ist, daß bei Connect-Problemen keine kryptischen Fehlermeldugen, sondern eine anständige Fehlerseite ausgegeben wird. Etwas ähnliches mache ich an einem dutzend anderer Stellen, z.B. um Fehlgeschlagenes SQL abzufangen. Das ganze funktioniert zwar, aber so richtig hübsch finde ich das nicht.

Jetzt gibt es ja seit PHP5 die try/catch blöcke. Leider funktionieren die nun irgendwie gar nicht so, wie ich das (von Oracle) gewohnt bin. Das Beispiel auf der PHP seite http://www.php.net/zend-engine-2.php schmeisst nur so mit Klassen und zeugs um sich, und davon habe ich nicht viel Ahnung (jaja, Schande über mich. Bin eben so ein prozedurales Fossil aus früheren Zeiten).

Kann mir jemand von Euch mal in einfachen Worten erklären, wie ich das Beispiel von oben hier beser lösen könnte? Gewinne ich dabei überhaupt etwas außer dem guten Gefühl, aktuelle Features zu benutzen?

Danke,
Günter
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.09.2004, 08:04  
Gast
 
Beiträge: n/a
Standard

Hier erstmal Dein Code mit einem Try-Catch Block - der funktionieren sollte
Code:
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$ADODB_LANG = 'en';

try {
    $this_db = &ADONewConnection("oci8");
    $this_db->PConnect("bla", "user", "pass");
} catch (DatabaseException $e) {
    include_once('dberror.inc.php');
    showErrorMsg($e);
}
.. eigentlicher code der Seite
Ich habe mir erlaubt anzunehmen, dass in "dberror.inc.php" eine Funktion namens "showErrorMsg" existiert, die die Fehlermeldung annimmt und ausgibt - ist dann vielleicht ein wenig transparenter.

Erklären kann ich Dir dazu nicht viel - sollte von der Logik her selbsterklärend sein. Im Try Block wird versucht die Verbidnung aufzubauen - schlägt dies fehl wird der Fehler vom Catch Block gefangen und weiterverarbeitet.

Ob sich das nun auch in der Performance auswirkt kann ich Dir leider nicht beantworten - der Code ist mit Try Catch auf jedenfall besser zu lesen und strukturierter.
  Mit Zitat antworten
Antwort


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
kleine Frage zu Einfärben von Kategorie cybermailer PHP Tipps 2008 21 05.05.2008 14:42
PHP: Exceptions - Teil 1 Zergling-new Tutorials 4 05.12.2007 23:31
newbe q: array in js noskule HTML, Usability und Barrierefreiheit 3 20.04.2006 14:00
[CSS] Block und Inline Element gleichzeitig....oder so HTML, Usability und Barrierefreiheit 2 26.02.2006 23:31
Nur der letzte Wert im Array wird angezeigt argon PHP Tipps 2005-2 28 05.11.2005 16:21
block elemente nebeneinander HTML, Usability und Barrierefreiheit 2 30.07.2005 12:12
Problem mit try catch() CSS PHP Tipps 2005 5 08.04.2005 16:07
[Erledigt] (PHP5) Frage zu try and catch PHP-Fortgeschrittene 1 30.10.2004 14:46
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30
[Erledigt] "Output-Pufferung spezial...?" PHP-Fortgeschrittene 7 04.09.2004 12:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php try catch, try catch php, php try, php5 try catch, oracle try catch, php catch, php try catch performance, try catch block, php try catch funktioniert nicht, try catch php5, php catch try, include_once try, try catch include_once, php try catch include_once, php try catch oracle, php catch include_once, try catch php bei fehler, php try ohne catch, wie funktioniert try catch in php, try php catch

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 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.