PyCharm:无法访问的代码?

新手上路,请多包涵

PyCharm 向我显示,在到达返回语句之前,某些代码在方法中是不可访问的。我不禁想知道这怎么可能呢?

 def post(self):
    # get the desired parameters
    username = self.request.get('user')
    password = self.request.get('pass')

    if not self.REGEX.match(username) or not self.REGEX.match(password):
        logging.debug('RegistrationHandler: Bad credentials ->', username, password)
        self.fail('bad username or password')

        print 'Blah' # <---- shows as UNREACHABLE ?
        return # <---- shows as UNREACHABLE ?

self.fail 只需调用 self.response.write(things)

更新:

是的,当我用 try/catch 子句包围它时,问题就解决了……奇怪。 (请注意,该方法并不 总是 引发异常。

原文由 Mazyod 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

我实际上认为这是 PyCharm 中的一个错误,认为 fail 指的是 TestCase.fail ,这实际上会使代码无法访问。

如果我使用您的示例,但将 fail 重命名为 failure ,错误就会消失。我会向 PyCharm 的友好人员报告此错误,看看是否确实如此。

原文由 Menno 发布,翻译遵循 CC BY-SA 3.0 许可协议

检查函数的缩进和无法访问的语句/行。

我使用它就像第二个函数包含在第一个函数的缩进中一样

删除缩进后代码应该如何

然后我删除了 if 语句之前的缩进,我得到了结果。 … … . .不客气!

原文由 Lost_Ryder 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏