docs: def _handle_request_exception(self, e):
          """This method handle HTTPError exceptions the same as how tornado does,
          leave other exceptions to be handled by user defined handler function
          maped in class attribute `EXCEPTION_HANDLERS`
  
          Common HTTP status codes:
              200 OK
              301 Moved Permanently
              302 Found
              400 Bad Request
              401 Unauthorized
              403 Forbidden
              404 Not Found
              405 Method Not Allowed
              500 Internal Server Error
  
          It is suggested only to use above HTTP status codes
          """
          handle_func = self._exception_default_handler
          if self.EXCEPTION_HANDLERS:
              for excs, func_name in self.EXCEPTION_HANDLERS.items():
                  if isinstance(e, excs):
                      handle_func = getattr(self, func_name)
                      break
  
          handle_func(e)
          if not self._finished:
              self.finish()