class RuboCop::Cop::Lint::RescueException

Checks for `rescue` blocks targeting the Exception class.

@example

# bad

begin
  do_something
rescue Exception
  handle_exception
end

@example

# good

begin
  do_something
rescue ArgumentError
  handle_exception
end

Constants

MSG

Public Instance Methods

on_resbody(node) click to toggle source
# File lib/rubocop/cop/lint/rescue_exception.rb, line 30
def on_resbody(node)
  return unless node.children.first

  rescue_args = node.children.first.children
  return unless rescue_args.any? { |a| targets_exception?(a) }

  add_offense(node)
end
targets_exception?(rescue_arg_node) click to toggle source
# File lib/rubocop/cop/lint/rescue_exception.rb, line 39
def targets_exception?(rescue_arg_node)
  rescue_arg_node.const_name == 'Exception'
end