Skip to content

Files

Latest commit

 

History

History
55 lines (44 loc) · 690 Bytes

Lint-UselessRescue.md

File metadata and controls

55 lines (44 loc) · 690 Bytes

Pattern: Unnecessary rescue

Issue: -

Description

Checks for useless rescues, which only re-raise rescued exceptions.

Examples

# bad
def foo
  do_something
rescue
  raise
end

# bad
def foo
  do_something
rescue => e
  raise # or 'raise e', or 'raise $!', or 'raise $ERROR_INFO'
end

# good
def foo
  do_something
rescue
  do_cleanup
  raise
end

# bad (latest rescue)
def foo
  do_something
rescue ArgumentError
  # noop
rescue
  raise
end

# good (not the latest rescue)
def foo
  do_something
rescue ArgumentError
  raise
rescue
  # noop
end

Further Reading