|
|
|
|
|
by lancefisher
3823 days ago
|
|
This is most likely the reason. It allows your code to follow the happy path for logging in, and treat verification as the exceptional case. Definitely a design choice by the author who self-identifies as a Pythonista. def handle_login():
try:
ph.verify(hash, "s3kr3tp4ssw0rd")
log_login()
redirect_to_page()
except VerificationError:
log_bad_login()
redirect_to_login()
|
|
1. It makes it very obvious to the next developer which line is the one that is expected to raise that exception
2. One of the other lines could unintentionally raise that exception and mistakenly trigger the except clause. (This is more of an issue with Python's built in exceptions than with something very specific like this `VerificationError` example.)