source: trunk/src/inc/ErrorHandler.php@ 7631

Last change on this file since 7631 was 7631, checked in by Pieter Naber, 13 years ago

Fixed a lot of bugs, introduced KMLFile::parseFile for parsing the node status file

File size: 5.9 KB
Line 
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
28/*
29 * Function: ErrorHandler
30 * Parameters: int $errno, string $errstr, string $errfile, int $errline, array $errcontext
31 * Function: Handling with errors, decides what to do with it
32 */
33function ErrorHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext) {
34 switch ($errno) {
35 case E_ERROR:
36 echo 'E_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
37 // TODO
38 break;
39 case E_WARNING:
40 echo 'E_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
41 // TODO
42 break;
43 case E_PARSE:
44 echo 'E_PARSE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
45 // TODO
46 break;
47 case E_NOTICE:
48 echo 'E_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
49 // TODO
50 break;
51 case E_CORE_ERROR:
52 echo 'E_CORE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
53 // TODO
54 break;
55 case E_CORE_WARNING:
56 echo 'E_CORE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
57 // TODO
58 break;
59 case E_COMPILE_ERROR:
60 echo 'E_COMPILE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
61 // TODO
62 break;
63 case E_COMPILE_WARNING:
64 echo 'E_COMPILE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
65 // TODO
66 break;
67 case E_USER_ERROR:
68 echo 'E_USER_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
69 // TODO
70 break;
71 case E_USER_WARNING:
72 echo 'E_USER_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
73 // TODO
74 break;
75 case E_USER_NOTICE:
76 echo 'E_USER_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
77 // TODO
78 break;
79 case E_STRICT:
80 echo 'E_STRICT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
81 // TODO
82 break;
83 case E_RECOVERABLE_ERROR:
84 echo 'E_RECOVERABLE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
85 // TODO
86 break;
87 case E_DEPRECATED:
88 echo 'E_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
89 // TODO
90 break;
91 case E_USER_DEPRECATED:
92 echo 'E_USER_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
93 // TODO
94 break;
95 default:
96 echo 'E_DEFAULT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
97 // TODO
98 break;
99 }
100
101 /* Don't execute PHP internal error handler */
102 return true;
103}
104
105set_exception_handler('ErrorHandler');
Note: See TracBrowser for help on using the repository browser.