Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> trigger_error vs. wyjatki
NuLL
post
Post #1





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Hi all (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ostatnio trochę więcej czasu zacząłem poświęcać PHPv5(ale ja opóżnoiony). Wiadomo wprowadzono obslugę wyjątków. Ja od dawien dawna stosuję trigger_error któremu jako ciąg podaję zserializowaną tablicę i po wszystkim - mam fallbacki, nr linii funckje plik i co mi się rzewnie zamarzy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i wyjatki wydja mi zbedne. Jakie wg. Was plusy posiadaja wyjatki nad trigger'em (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Po szczerze mówiąc nie chce mi się definiować miliarda wyjątków dla jakieś większej aplikacji...wole wciąż podpinać własny error_handler...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
M4chu
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 28.09.2003
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. class PHPErrorException extends Exception
  4. {
  5.  private $context = null;
  6.  public function __construct
  7.  ($code, $message, $file, $line, $context = null)
  8.  {
  9.  parent::__construct($message, $code);
  10.  $this->file = $file;
  11.  $this->line = $line;
  12.  $this->context = $context;
  13.  }
  14. };
  15.  
  16. function error_handler($code, $message, $file, $line) {
  17.  throw new PHPErrorException($code, $message, $file, $line);
  18. }
  19.  
  20. function exception_handler(Exception $e)
  21. {  
  22.  $errors = array(
  23.  E_USER_ERROR => &#092;"User Error\",
  24.  E_USER_WARNING => &#092;"User Warning\",
  25.  E_USER_NOTICE => &#092;"User Notice\",
  26.  );
  27.  
  28.  echo $errors[$e->getCode()].': '.$e->getMessage().' in '.$e->getFile().
  29.  ' on line '.$e->getLine().&#092;"n\";
  30.  echo $e->getTraceAsString();
  31. }
  32.  
  33. set_error_handler('error_handler');
  34. set_exception_handler('exception_handler');
  35.  
  36. // Throw exception with an /unkown/ error code.
  37. throw new Exception('foo', 0);
  38.  
  39. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 18:42