Why this matters
Failing to close resources like files or sockets can lead to resource leaks and undefined behavior. Using finally ensures resources are released even if an error occurs.
finally for Resource CleanupDetect code where resources (files, sockets, etc.) are not closed in a finally block. Using finally ensures that resources are released, even if an exception is raised.
Failing to close resources like files or sockets can lead to resource leaks and undefined behavior. Using finally ensures resources are released even if an error occurs.
Side-by-side examples engineers can pattern-match during review.
file = open("test.txt")
data = file.read()try:
file = open("test.txt")
data = file.read()
finally:
file.close()
From the same buckets as this rule.
Check if loops use equality operators (== or !=) in termination conditions. These can lead to infinite loops if the condition is never met exactly. Instead, use relational operators like < or > for safer loop termination.