source: trunk/src/class/ErrorHandler.class.php@ 7628

Last change on this file since 7628 was 7627, checked in by Pieter Naber, 15 years ago

Added new classes for creating KMLFiles.

File size: 6.0 KB
RevLine 
[7618]1<?
2/*
3 * Project: NodeMap2.0
4 * File: ErrorHandler.class.php
5 * Purpose: Handling (PHP) errors generated by the application
6 */
7
8/*
9 * PHP errors:
10 * E_ERROR ( integer ) Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.
11 * E_WARNING ( integer ) Run-time warnings (non-fatal errors). Execution of the script is not halted.
12 * E_PARSE ( integer ) Compile-time parse errors. Parse errors should only be generated by the parser.
13 * E_NOTICE ( integer ) Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script.
14 * E_CORE_ERROR ( integer ) Fatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP. since PHP 4
15 * E_CORE_WARNING ( integer ) Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP. since PHP 4
16 * E_COMPILE_ERROR ( integer ) Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine. since PHP 4
17 * E_COMPILE_WARNING ( integer ) Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine. since PHP 4
18 * E_USER_ERROR ( integer ) User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP function trigger_error(). since PHP 4
19 * E_USER_WARNING ( integer ) User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP function trigger_error(). since PHP 4
20 * E_USER_NOTICE ( integer ) User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error(). since PHP 4
21 * E_STRICT ( integer ) Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. since PHP 5
22 * E_RECOVERABLE_ERROR ( integer ) Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR. since PHP 5.2.0
23 * E_DEPRECATED ( integer ) Run-time notices. Enable this to receive warnings about code that will not work in future versions. since PHP 5.3.0
24 * E_USER_DEPRECATED ( integer ) User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error(). since PHP 5.3.0
25 * E_ALL ( integer ) All errors and warnings, as supported, except of level E_STRICT in PHP < 6.
26 */
27
28class ErrorHandler {
29 /*
30 * Function: ErrorHandler
31 * Parameters: int $errno, string $errstr, string $errfile, int $errline, array $errcontext
32 * Function: Handling with errors, decides what to do with it
33 */
34 public function ErrorHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext) {
35 switch ($errno) {
36 case E_ERROR:
[7627]37 echo 'E_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]38 // TODO
39 break;
40 case E_WARNING:
[7627]41 echo 'E_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]42 // TODO
43 break;
44 case E_PARSE:
[7627]45 echo 'E_PARSE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]46 // TODO
47 break;
48 case E_NOTICE:
[7627]49 echo 'E_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]50 // TODO
51 break;
52 case E_CORE_ERROR:
[7627]53 echo 'E_CORE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]54 // TODO
55 break;
56 case E_CORE_WARNING:
[7627]57 echo 'E_CORE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]58 // TODO
59 break;
60 case E_COMPILE_ERROR:
[7627]61 echo 'E_COMPILE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]62 // TODO
63 break;
64 case E_COMPILE_WARNING:
[7627]65 echo 'E_COMPILE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]66 // TODO
67 break;
68 case E_USER_ERROR:
[7627]69 echo 'E_USER_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]70 // TODO
71 break;
72 case E_USER_WARNING:
[7627]73 echo 'E_USER_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]74 // TODO
75 break;
76 case E_USER_NOTICE:
[7627]77 echo 'E_USER_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]78 // TODO
79 break;
80 case E_STRICT:
[7627]81 echo 'E_STRICT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]82 // TODO
83 break;
84 case E_RECOVERABLE_ERROR:
[7627]85 echo 'E_RECOVERABLE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]86 // TODO
87 break;
88 case E_DEPRECATED:
[7627]89 echo 'E_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]90 // TODO
91 break;
92 case E_USER_DEPRECATED:
[7627]93 echo 'E_USER_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]94 // TODO
95 break;
96 default:
[7627]97 echo 'E_DEFAULT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
[7618]98 // TODO
99 break;
100 }
101
102 /* Don't execute PHP internal error handler */
103 return true;
104 }
[7621]105}
106
107set_exception_handler('ErrorHandler::ErrorHandler');
Note: See TracBrowser for help on using the repository browser.