docs: def write_error(self, status_code, **kwargs):
          """Override of RequestHandler.write_error
  
          Calls ``error()`` or ``fail()`` from JSendMixin depending on which
          exception was raised with provided reason and status code.
  
          :type  status_code: int
          :param status_code: HTTP status code
          """
          def get_exc_message(exception):
              return exception.log_message if \
                  hasattr(exception, "log_message") else str(exception)
  
          self.clear()
          self.set_status(status_code)
  
          # Any APIError exceptions raised will result in a JSend fail written
          # back with the log_message as data. Hence, log_message should NEVER
          # expose internals. Since log_message is proprietary to HTTPError
          # class exceptions, all exceptions without it will return their
          # __str__ representation.
          # All other exceptions result in a JSend error being written back,
          # with log_message only written if debug mode is enabled
          exception = kwargs["exc_info"][1]
          if any(isinstance(exception, c) for c in [APIError, ValidationError]):
              # ValidationError is always due to a malformed request
              if isinstance(exception, ValidationError):
                  self.set_status(400)
              self.fail(get_exc_message(exception))
          else:
              self.error(
                  message=self._reason,
                  data=get_exc_message(exception) if self.settings.get("debug")
                  else None,
                  code=status_code
              )