Versio

throw new CoreException

Overzicht Reageren

Hertog Jan

Hertog Jan

24/08/2011 15:58:44
Quote Anchor link
Ik ben een beetje aan het experimenteren met exceptions en dergelijke alleen kan iemand mij hier een beetje uitleg over geven?

Want onderstaande codes doen toch precies het zelfde? Waarom kun je beter een exception gebruiken dan if/else, wat is het nut van een exception?

Code 1:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    try {
        $db = new Database(host, database, user, password);
    } catch (CoreException $error) {
        echo $error->getMessage();
    }


Code 2:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    if ($db = new Database(host, database, user, password)) {

    }else{
        echo $db->getError();
    }
 
PHP hulp

PHP hulp

25/05/2012 16:21:08
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Ger van Steenderen

Ger van Steenderen

24/08/2011 17:19:17
Quote Anchor link
Het belangrijkste verschil tussen if..then..else en try..catch is dat je de fout wat neter kunt opvangen.
 
Hertog Jan

Hertog Jan

24/08/2011 18:20:19
Quote Anchor link
Maar dit betekend dat ik dus elke keer als ik een query zou doen (met een database class) dat ik een try/catch blok moet doen?
 
Ger van Steenderen

Ger van Steenderen

24/08/2011 19:18:02
Quote Anchor link
Sorry, niet helemaal goed gelezen.
Nee dus, in die zin kan je beter if then else gebruiken.
try catch is meer voor raw data verbindingen
 
Fabian M

Fabian M

24/08/2011 20:34:39
Quote Anchor link
Als je je code schoon wilt houden, kun je beter de error in de constructor vangen, zodat je niet elke keer if-else of try-catch hoeft te gebruiken.

By the way, geef een betere naam aan je exception, zoals SQLException of MySQLException. CoreException heeft niet zoveel met SQL te maken,
Gewijzigd op 24/08/2011 20:35:42 door Fabian M
 
The Force

The Force

24/08/2011 21:39:06
Quote Anchor link
Zie http://www.phphulp.nl/php/forum/topic/try-catch-en-do-while/79431/last/ voor mijn uitleg wanneer je beter if/else kan gebruiken en wanneer beter try/catch.
 



Overzicht Reageren

Get Adobe Flash player