ExceptionUtilities
Utilities for handling exceptions.
Installation
Add this line to your application's Gemfile:
gem 'exception_utilities'
And then execute:
$ bundle
Or install it yourself as:
$ gem install exception_utilities
Usage
Ignoring specific exceptions
Use exceptions_ignoring_eval
:
require 'exception_utilities/kernel'
exceptions_ignoring_eval(LoadError) do
require 'foo'
end
Rescue exceptions having specific message
Use exceptions_with_message
:
require 'exception_utilities/kernel'
begin
SomeModel.create!
rescue exceptions_with_message(/\Bfoo_bar_id\B/, ActiveRecord::RecordNotFound)
Rails.logger.debug([$!.message, *$!.backtrace].join("\n"))
end
Creating exception matcher
Use exception_matcher
:
require 'exception_utilities/kernel'
begin
# some routine
rescue exception_matcher {|exc| exc.count <=1 }
# ignore
rescue exception_matcher {|exc| exc.count > 1 }
raise
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request