public static function onError($code, $message, $file, $line, $context) { // Error has been suppressed with @ sign if (error_reporting() === 0) { return; } if ($code & E_WARNING || $code & E_USER_WARNING) { $e = new PhpWarningException(); } elseif ($code & E_NOTICE || $code & E_USER_NOTICE || $code & E_DEPRECATED || $code & E_USER_DEPRECATED || $code & E_STRICT) { $e = new PhpNoticeException(); } else { $e = new PhpErrorException(); } $e->setCode($code); $e->setMessage($message); $e->setFile($file); $e->setLine($line); $e->setContext($context); throw $e; }