Why this matters
Preserves backtrace and supports failure propagation/retries.
Do not swallow errors; log with context and re-raise using `raise` (no args) or `raise new_error, cause: e`.
Preserves backtrace and supports failure propagation/retries.
Side-by-side examples engineers can pattern-match during review.
rescue => e
Rails.logger.error(e)
nilrescue => e
Rails.logger.error("op failed", error: e)
raiserescue => e; nilrescue => e; raiseFrom 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.