login  Naam:   Wachtwoord: 
Registreer je!
 Forum

eigen Exception maken (Opgelost)

Offline tomie94 - 13/04/2008 13:59
Avatar van tomie94PHP interesse Hallo,

Ik ben voor de lol me eigen frameworkje op een het zetten, nu wil ik een eigen error-verwerking en heb dus het volgende gedaan:
  1. <?php
  2. class TBF_ERROR {
  3. public $errors;
  4. public function __construct($error) {
  5.  
  6. $this->errors .= '<li>'.$error.'</li>';
  7. }
  8. }
  9. class TBF_MySQL {
  10. public function query($text) {
  11. if($text != "TEST") {
  12. new TBF_ERROR("Je moet wel TEST Invoeren");
  13. }else{
  14. echo 'Test';
  15. }
  16.  
  17. }
  18. }
  19. class TBF {
  20. static public function getMySQL() {
  21. static $class;
  22. if(!$class) $class = new TBF_MySQL;
  23. return $class;
  24. }
  25. }
  26. //TBF::getDBO() === TBF::getDBO();
  27. try {
  28. $mysql = TBF::getMySQL();
  29. echo $mysql->query("TEST");
  30. }
  31. catch(TBF_ERROR $e) {
  32. print_r($e);
  33. }
  34. try {
  35. $mysql = TBF::getMySQL();
  36. echo $mysql->query("TEST2");
  37. }
  38. catch(TBF_ERROR $e) {
  39. print_r($e);
  40. }
  41. ?>


de bedoeling is dat als TEST niet TEST is, er een error moet komen, en 'gecatcht' moet worden, alleen werkt dit niet. Iemand een idee hoe ik dit op kan lossen?

3 antwoorden

Gesponsorde links
Offline Rik - 13/04/2008 14:07
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je bent vergeten de exception te 'gooien'. Dat doe je door er simpelweg throw voor te zetten. 
Offline tomie94 - 13/04/2008 14:09
Avatar van tomie94 PHP interesse dat dacht ik ook al, maar dan krijg ik:
[error=php]Fatal error: Exceptions must be valid objects derived from the Exception base class in C:\wamp\www\TBF.php on line 12[/error]
Offline Rik - 13/04/2008 14:10 (laatste wijziging 15/04/2008 20:00)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Dan maak je van:
  1. class TBF_ERROR {
Dit:
  1. class TBF_ERROR extends Exception {
Dat wist ik trouwens niet, ik dacht dat je alles zomaar kon gooien.  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.293s