Jdi na navigaci předmětu

Zpracování chyb (error handling)

K čemu je to dobré?

  • Error Handling
  • vědět, co se stalo - např. zaznamenat do logu
  • zotavit se z chyby, pokud je to možné

Konfigurační hodnoty

  • error_reporting - jaké chyby se budou oznamovat
  • display_errors - zda se budou chyby vypisovat na (chybový) výstup
  • log_errors - záznam chyb (na produkci vhodnější než display_errors)

Vlastní error handler

Vlastní error handler

function myErrorHandler($errno, $errstr, $errfile, $errline) {
  if (!(error_reporting() & $errno)) {
      // This error code is not included in error_reporting
      return;
  }

  switch ($errno) {
    case E_USER_ERROR:
    ...
  }
}

Nezotavitelné chyby

nelze zpracovat vlastním error handlerem

  • obvyklé - E_ERROR, E_PARSE
  • speciální - E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING

Záznam chyb

  • konfigurační hodnota error_log
    • stderr (výchozí), cesta k souboru nebo speciální hodnota syslog
  • nebo pomocí knihoven např. Monolog