1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace ComboStrap; 4*04fd306cSNickeau 5*04fd306cSNickeauclass ErrorHandler 6*04fd306cSNickeau{ 7*04fd306cSNickeau 8*04fd306cSNickeau 9*04fd306cSNickeau 10*04fd306cSNickeau 11*04fd306cSNickeau /** 12*04fd306cSNickeau * @return void 13*04fd306cSNickeau */ 14*04fd306cSNickeau public static function phpErrorAsException(): void 15*04fd306cSNickeau { 16*04fd306cSNickeau set_error_handler(function($errorNumber, $errorMessage, $errorFile, $errorLine) { 17*04fd306cSNickeau // error was suppressed with the @-operator 18*04fd306cSNickeau if (0 === error_reporting()) { 19*04fd306cSNickeau return false; 20*04fd306cSNickeau } 21*04fd306cSNickeau throw ( 22*04fd306cSNickeau (new ExceptionPhpError($errorMessage, 0, $errorNumber )) 23*04fd306cSNickeau ->setErrorFile($errorFile) 24*04fd306cSNickeau ->setErrorLine($errorLine) 25*04fd306cSNickeau ); 26*04fd306cSNickeau 27*04fd306cSNickeau }); 28*04fd306cSNickeau } 29*04fd306cSNickeau 30*04fd306cSNickeau 31*04fd306cSNickeau static public function restore() 32*04fd306cSNickeau { 33*04fd306cSNickeau restore_error_handler(); 34*04fd306cSNickeau } 35*04fd306cSNickeau} 36