code: public function handle($level, $message, $file = null, $line = null, array $context = [])
      {
          $errorReporting = error_reporting();
          foreach ($this->errorHandlers as $errorHandler) {
              if ($errorHandler->isResponsible($level, $message, $file, $line, $context)) {
                  // if function/method was called with prepended @ and error is supressable
                  if (0 == $errorReporting && $errorHandler->isSupressable($level, $message, $file, $line, $context)) {
                      return ErrorHandler::STOP_ERROR_HANDLING;
                  }
  
                  return $errorHandler->handle($level, $message, $file, $line, $context);
              }
          }
  
          return ErrorHandler::CONTINUE_WITH_PHP_INTERNAL_HANDLING;
      }
docs: handles the given error
  
  @param   int     $level    level of the raised error
  @param   string  $message  error message
  @param   string  $file     filename that the error was raised in
  @param   int     $line     line number the error was raised at
  @param   array   $context  array of every variable that existed in the scope the error was triggered in
  @return  bool    true if error message should populate $php_errormsg, else false