login  Naam:   Wachtwoord: 
Registreer je!
 Forum

try catch "fatal error"

Offline Wijnand - 26/04/2008 14:00
Avatar van WijnandModerator ik krijg een fatal error en nu had ik bedacht, omdat die op te vangen.. Dit werkt niet helemaal goed...

  1. <?php
  2. try {
  3. // code die fatal errors geeft
  4. } catch (Exception $e) {
  5. echo 'er is een fout';
  6. }
  7. ?>


Dit werkt dus niet. heeft iemand een manier om dit wel voor elkaar te krijgen?

6 antwoorden

Gesponsorde links
Offline nemesiskoen - 26/04/2008 14:46
Avatar van nemesiskoen Gouden medaille

PHP expert
Fatal error is geen exceptie en die kan je dus niet opvangen. Exceptions zijn voor logische fouten af te handelen. Zoals: de gebruiker geeft twee getallen in 2 en 0 en deze moet je door elkaar delen. Dan is het een uitzondering, een onvoorziene logische fout.
Offline Koen - 26/04/2008 14:58
Avatar van Koen PHP expert Wanneer krijg je die fatal error dan? 
Offline Wijnand - 28/04/2008 15:00
Avatar van Wijnand Moderator hij laad automatisch bepaalde classes (framework achtig) en dat doet hij aan de hand van:

http://localhost/module/action/1/hoi.html

en die action is de "functie" of "method"... maar als ik gewoon wat in vult en dat is "toevallig" een class die protected is, dan krijg je zo'n vieze error.
Offline nemesiskoen - 28/04/2008 18:52
Avatar van nemesiskoen Gouden medaille

PHP expert
Als de klassenaam gebasseerd is op een variabele kan je best met reflection werken en niet rechtstreeks een instantie proberen te maken. Hoewel PHP dit toelaat is dit niet proper. Via een reflectie-klasse kan je dan controleren of de klasse al dan niet bestaat en of de gebruiker toegang heeft tot de klasse. En dan kan je een exceptie gooien.
Offline Wijnand - 29/04/2008 09:16
Avatar van Wijnand Moderator ja maar dat vind ik ook niet wat. Zeker voor een framework oid is dat niet praktisch.

Ik vind het wel stom dat ze er geen functie voor hebben geschreven in php.

Offline nemesiskoen - 29/04/2008 10:23
Avatar van nemesiskoen Gouden medaille

PHP expert
Voor reflectie bestaan wel functies in php: http://www.php.net/oop5.reflection
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s