<?php
  // funkcja obsługująca błędy
  function moja_obsluga_bledow($numerbl, $ciagbl, $plikbl, $liniabl) {
    echo "<p><strong>BŁĄD:</strong>".$ciagbl."</p>
          <p>Proszę spróbować ponownie lub skontaktować się z administratorem i
          przekazać, że błąd wystąpił w linii $liniabl pliku ".$plikbl.".<br />
          To nam ułatwi rozwiązanie problemu.</p>";

    if (($numerbl == E_USER_ERROR) || ($numerbl == E_ERROR)) {
      echo "<p>Błąd krytyczny, zakończenie programu</p>";
      exit;
    }
    echo "<hr />";
  }
  
  // ustawienie obsługi błędów
  set_error_handler('moja_obsluga_bledow');

  // wyzwolenie różnych poziomów błędów
  trigger_error('Wywołana funkcja wyzwalająca', E_USER_NOTICE);
  fopen('zadenplik', 'r');
  trigger_error('Ten komputer jest beżowy', E_USER_WARNING);
  include('zadenplik');
  trigger_error('Ten komputer ulegnie samozniszczeniu za 15 sekund', E_USER_ERROR);
?>
