Sha256: f50fc1178fa6f70b9a52b28ebed7ab5c8d269079e28ea4f66224486b1c9a1760
Contents?: true
Size: 1.1 KB
Versions: 186
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # Checks that there are no repeated exceptions # used in 'rescue' expressions. # # @example # # bad # begin # something # rescue FirstException # handle_exception # rescue FirstException # handle_other_exception # end # # # good # begin # something # rescue FirstException # handle_exception # rescue SecondException # handle_other_exception # end # class DuplicateRescueException < Base include RescueNode MSG = 'Duplicate `rescue` exception detected.' def on_rescue(node) return if rescue_modifier?(node) node.resbody_branches.each_with_object(Set.new) do |resbody, previous| rescued_exceptions = resbody.exceptions rescued_exceptions.each do |exception| add_offense(exception) unless previous.add?(exception) end end end end end end end
Version data entries
186 entries across 179 versions & 17 rubygems