Skip to content
Advertisement

PyCharm: Unreachable Code?

PyCharm is showing me that some code is unreachable within a method before the return statement is reached. I cannot help but wonder how is that even remotely possible?

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 simply calls self.response.write(things).

Update:

Yeah, when I surround it with a try/catch clause, the issue is resolved… Strange. (Note that the method doesn’t always raise an exception.

Advertisement

Answer

I actually think this is a bug in PyCharm, thinking that fail refers to TestCase.fail, which would in fact make the code unreachable.

If I use your example, but rename fail to for example failure, the errors disappears. I’d report this bug to the friendly folks at PyCharm to see if this is in fact the case.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement