class RuboCop::Cop::Lint::InheritException

class C < StandardError; end
# good
# EnforcedStyle: standard_error
@example
class C < RuntimeError; end
# good
# EnforcedStyle: runtime_error (default)
@example
class C < Exception; end
# bad
@example
`StandardError` instead.
It is configurable to suggest using either ‘RuntimeError` (default) or
This cop looks for error classes inheriting from `Exception`.

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    corrector.replace(node.loc.expression, preferred_base_class)
  end
end

def check(node)

def check(node)
  if node.const_name == 'Exception'
    add_offense(node, :expression, format(MSG, preferred_base_class))
  end
end

def on_class(node)

def on_class(node)
  _class, base_class, _body = *node
  return if base_class.nil?
  check(base_class)
end

def preferred_base_class

def preferred_base_class
  PREFERRED_BASE_CLASS[style]
end