Python 帐户创建和登录的Firebase错误处理-Pyrebase

Python 帐户创建和登录的Firebase错误处理-Pyrebase,python,error-handling,firebase-authentication,pyrebase,Python,Error Handling,Firebase Authentication,Pyrebase,我正在尝试处理用户注册或登录我的应用程序时出现的错误。我试图处理的第一个错误是,当用户试图使用数据库中已经存在的电子邮件创建帐户时。我得到以下HTTPError: requests.exceptions.HTTPError: [Errno 400 Client Error: Bad Request for url: https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=] { "error

我正在尝试处理用户注册或登录我的应用程序时出现的错误。我试图处理的第一个错误是,当用户试图使用数据库中已经存在的电子邮件创建帐户时。我得到以下
HTTPError

 requests.exceptions.HTTPError: [Errno 400 Client Error: Bad Request for url: https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=] {
   "error": {
     "code": 400,
     "message": "EMAIL_EXISTS",
     "errors": [
       {
         "message": "EMAIL_EXISTS",
         "domain": "global",
         "reason": "invalid"
       }
     ]
   }
 }
我想访问下面的
“message”:“EMAIL\u EXISTS”
值,但我不确定如何操作。我添加了以下代码,但会产生以下错误:

     error_message = error["error"]["message"]
 TypeError: 'HTTPError' object is not subscriptable

经过多次搜索,我找到了这个问题的答案:

        except requests.HTTPError as e:
            error_json = e.args[1]
            error = json.loads(error_json)['error']['message']
            if error == "EMAIL_EXISTS":
                print("Email already exists")

我试过你在评论中提供的代码,但我无法使用。可能是请求模块的版本问题或其他问题

但是,以下代码适用于我的情况:

except requests.exceptions.HTTPError as e:
  error_json = e.args[1]
  error = json.loads(error_json)['error']['message']
  if error == "EMAIL_EXISTS":
      print("Email already exists")

是的,
requests.exceptions.HTTPError
而不是
requests.HTTPError

我不确定你是否会在这么晚的时候看到这一点,但我尝试将其添加到我的代码中,发现错误“json”没有定义。你知道如何解决这个问题吗?你导入json了吗?
except requests.exceptions.HTTPError as e:
  error_json = e.args[1]
  error = json.loads(error_json)['error']['message']
  if error == "EMAIL_EXISTS":
      print("Email already exists")