1+ <?php
2+ namespace ErrorHandling ;
3+
4+ require_once dirname (__FILE__ ) . "/Debug.php " ;
5+
6+ $ _SEVERITY_TO_STRING = [
7+ E_ERROR => 'E_ERROR ' ,
8+ E_WARNING => 'E_WARNING ' ,
9+ E_PARSE => 'E_PARSE ' ,
10+ E_NOTICE => 'E_NOTICE ' ,
11+ E_CORE_ERROR => 'E_CORE_ERROR ' ,
12+ E_CORE_WARNING => 'E_CORE_WARNING ' ,
13+ E_COMPILE_ERROR => 'E_COMPILE_ERROR ' ,
14+ E_COMPILE_WARNING => 'E_COMPILE_WARNING ' ,
15+ E_USER_ERROR => 'E_USER_ERROR ' ,
16+ E_USER_WARNING => 'E_USER_WARNING ' ,
17+ E_USER_NOTICE => 'E_USER_NOTICE ' ,
18+ E_STRICT => 'E_STRICT ' ,
19+ E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR ' ,
20+ E_DEPRECATED => 'E_DEPRECATED ' ,
21+ E_USER_DEPRECATED => 'E_USER_DEPRECATED ' ,
22+ ];
23+
24+ function StyledErrorHandler ($ severity , $ message , $ file , $ line , array $ context ) {
25+ // error was suppressed with the @-operator
26+ if (0 === error_reporting ()) { return false ;}
27+
28+ global $ _SEVERITY_TO_STRING ;
29+ $ severityString = $ _SEVERITY_TO_STRING [$ severity ] ?? 'E_UNKNOWN ' ;
30+
31+ OutputDebugLog ($ severity , $ message , $ file , $ line , $ context );
32+ echo "<div style='color: #000; background-color: #ff7777bf; border: 1px solid #dc6363; font-size: 90%; margin: 0 0 .5em; padding: .4em; overflow: hidden; border-radius: 5px;'><b> {$ severityString }</b>: {$ message } in <b> {$ file }</b> on line <b> {$ line }</b></div> " ;
33+ }
34+
35+ function PlainErrorHandler ($ severity , $ message , $ file , $ line , array $ context ) {
36+ // error was suppressed with the @-operator
37+ if (0 === error_reporting ()) { return false ;}
38+
39+ global $ _SEVERITY_TO_STRING ;
40+ $ severityString = $ _SEVERITY_TO_STRING [$ severity ] ?? 'E_UNKNOWN ' ;
41+
42+ OutputDebugLog ($ severity , $ message , $ file , $ line , $ context );
43+ echo "<br><b> {$ severityString }</b>: {$ message } in <b> {$ file }</b> on line <b> {$ line }</b><br> " ;
44+ }
45+
46+ function OutputDebugLog ($ severity , $ message , $ file , $ line , array $ context ) {
47+ global $ _SEVERITY_TO_STRING ;
48+ $ severityString = $ _SEVERITY_TO_STRING [$ severity ] ?? 'E_UNKNOWN ' ;
49+ \Debug::LogError ("
50+ RuntimeError Occured:
51+ Severity: {$ severityString }
52+ Message : {$ message }
53+ File : {$ file }
54+ Line : {$ line }
55+ " );
56+ }
57+
58+ function SeverityToString ($ severity ) {
59+ switch ($ severity )
60+ {
61+ case E_ERROR : return 'E_ERROR ' ;
62+ case E_WARNING : return 'E_WARNING ' ;
63+ case E_PARSE : return 'E_PARSE ' ;
64+ case E_NOTICE : return 'E_NOTICE ' ;
65+ case E_CORE_ERROR : return 'E_CORE_ERROR ' ;
66+ case E_CORE_WARNING : return 'E_CORE_WARNING ' ;
67+ case E_COMPILE_ERROR : return 'E_COMPILE_ERROR ' ;
68+ case E_COMPILE_WARNING : return 'E_COMPILE_WARNING ' ;
69+ case E_USER_ERROR : return 'E_USER_ERROR ' ;
70+ case E_USER_WARNING : return 'E_USER_WARNING ' ;
71+ case E_USER_NOTICE : return 'E_USER_NOTICE ' ;
72+ case E_STRICT : return 'E_STRICT ' ;
73+ case E_RECOVERABLE_ERROR : return 'E_RECOVERABLE_ERROR ' ;
74+ case E_DEPRECATED : return 'E_DEPRECATED ' ;
75+ case E_USER_DEPRECATED : return 'E_USER_DEPRECATED ' ;
76+ }
77+ return 'E_UNKNOWN ' ;
78+ }
0 commit comments