Skip to content

Conversation

lovro-bikic
Copy link
Contributor

@lovro-bikic lovro-bikic commented Aug 10, 2025

Adds a section to prefer reraising exceptions implicitly, i.e. calling raise without an argument.

Explicit and implicit reraise are functionally equivalent (the same exception and backtrace are used), so this would be a stylistic convention foremost.

Related RuboCop PR: rubocop/rubocop#14429 (there is some relevant discussion already, see rubocop/rubocop#14429 (comment))

Both styles seem to be equally performant:

ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-darwin23] Warming up -------------------------------------- Implicit reraise 12.739k i/100ms Explicit reraise 12.749k i/100ms Calculating ------------------------------------- Implicit reraise 128.919k (± 1.1%) i/s (7.76 μs/i) - 649.689k in 5.040198s Explicit reraise 128.057k (± 1.4%) i/s (7.81 μs/i) - 650.199k in 5.078367s Comparison: Implicit reraise: 128918.6 i/s Explicit reraise: 128057.4 i/s - same-ish: difference falls within error 
Benchmark script
require 'benchmark/ips' Benchmark.ips do |x| x.report('Implicit reraise') do begin raise 'boom' rescue => e raise end rescue end x.report('Explicit reraise') do begin raise 'boom' rescue => e raise e end rescue end x.compare! end

I will attach a real-world report in the next comment.

@lovro-bikic
Copy link
Contributor Author

lovro-bikic commented Aug 10, 2025

According to real-world-ruby-apps data, in rescue blocks where the exception has been captured in a local variable (meaning rescue SomeError => e is included in the report, but just rescue SomeError isn't), there are:

  • 231 implicit reraises (58%)
  • 169 explicit reraises (42%)
Raw report
# https://github.com/pivotal/LicenseFinder/blob/00b04cb91e8ec9021c939ccfceb69d4047f4c8ca/lib/license_finder/package_manager.rb#L107 Explicit raise raise e unless @prepare_no_fail # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/extend-http.rb#L143 Explicit raise raise exception # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/extend-http.rb#L190 Implicit raise raise # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/extend-http.rb#L198 Explicit raise raise exception # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/plugin_support.rb#L30 Implicit raise raise if $WWDEBUG == true # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/plugin_support.rb#L34 Implicit raise raise if $WWDEBUG == true # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/whatweb/parser.rb#L34 Implicit raise raise if $WWDEBUG == true # https://github.com/urbanadventurer/WhatWeb/blob/efee4d80925b5046417ebb762858aaae8ef68f84/lib/whatweb/parser.rb#L54 Implicit raise raise if $WWDEBUG == true # https://github.com/asciidoctor/asciidoctor/blob/06bed2f203716b1352fadcb4ea6fded21c00f46a/lib/asciidoctor/cli/invoker.rb#L147 Explicit raise raise e if @options[:trace] # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/lib/brakeman.rb#L522 Explicit raise raise e # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/lib/brakeman/processors/alias_processor.rb#L72 Explicit raise raise err # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails2/config/boot.rb#L69 Implicit raise raise # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails5.2/bin/rails#L5 Implicit raise raise unless e.message.include?('spring') # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails5.2/bin/rake#L5 Implicit raise raise unless e.message.include?('spring') # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails5/bin/rails#L5 Implicit raise raise unless e.message.include?('spring') # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails5/bin/rake#L5 Implicit raise raise unless e.message.include?('spring') # https://github.com/presidentbeef/brakeman/blob/7f673cda24185d868ad65c01843bb70fe6f095fe/test/apps/rails_with_xss_plugin/config/boot.rb#L69 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/chef-config/lib/chef-config/mixin/train_transport.rb#L132 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife.rb#L501 Implicit raise raise if raise_exception || ( Chef::Config[:verbosity] && Chef::Config[:verbosity] >= 2 ) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L627 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L660 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L669 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L674 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L683 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap.rb#L718 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/bootstrap/client_builder.rb#L194 Implicit raise raise unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/cookbook_delete.rb#L96 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/cookbook_upload.rb#L240 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/cookbook_upload.rb#L253 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/core/ui.rb#L89 Explicit raise raise e if @config[:verbosity] >= 2 # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/core/ui.rb#L117 Explicit raise raise e if @config[:verbosity] >= 2 # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/core/ui.rb#L217 Explicit raise raise e if @config[:verbosity] >= 2 # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/data_bag_create.rb#L57 Implicit raise raise unless /^404/.match?(e.to_s) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/org_user_add.rb#L51 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/org_user_remove.rb#L77 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/org_user_remove.rb#L80 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/org_user_remove.rb#L98 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/ssl_fetch.rb#L149 Implicit raise raise unless e.message.include?("unknown protocol") # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/knife/lib/chef/knife/supermarket_unshare.rb#L51 Explicit raise raise e unless /Forbidden/.match?(e.message) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client.rb#L194 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client/registration.rb#L62 Implicit raise raise if retries <= 0 # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client/registration.rb#L100 Implicit raise raise unless e.response.code == "409" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client_v1.rb#L228 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client_v1.rb#L252 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client_v1.rb#L276 Explicit raise raise e unless supported_versions && supported_versions.include?(0) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/api_client_v1.rb#L318 Explicit raise raise e unless supported_versions && supported_versions.include?(0) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb#L53 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb#L52 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb#L79 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb#L100 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/client.rb#L321 Explicit raise raise run_error # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/client.rb#L538 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/client.rb#L666 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/client.rb#L858 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook/gem_installer.rb#L85 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook/synchronizer.rb#L194 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook_uploader.rb#L91 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook_uploader.rb#L108 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook_uploader.rb#L134 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook_version.rb#L402 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/cookbook_version.rb#L537 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/data_bag.rb#L157 Explicit raise raise e unless e.response.code == "409" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/data_bag_item.rb#L183 Explicit raise raise e unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/data_collector.rb#L195 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/environment.rb#L279 Explicit raise raise e unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L168 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L172 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L203 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L207 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L256 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L260 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http.rb#L444 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http/basic_client.rb#L103 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http/http_request.rb#L139 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/http/ssl_policies.rb#L135 Explicit raise raise e unless e.message =~ /cert already in hash table/ # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/key.rb#L196 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/monkey_patches/net-http.rb#L121 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/node.rb#L638 Implicit raise raise unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/node.rb#L675 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/node.rb#L692 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/node.rb#L738 Explicit raise raise e unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/org.rb#L100 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/policy_builder/dynamic.rb#L82 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/policy_builder/expand_node_object.rb#L171 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/policy_builder/expand_node_object.rb#L196 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/policy_builder/policyfile.rb#L160 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/policy_builder/policyfile.rb#L488 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/dsc_script.rb#L100 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/package/dnf/python_helper.rb#L212 Explicit raise raise e if output.empty? # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/package/yum/python_helper.rb#L293 Explicit raise raise e if output.empty? # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/package/zypper.rb#L139 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/remote_file/content.rb#L66 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/provider/service/windows.rb#L106 Explicit raise raise ex # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/resource.rb#L1100 Implicit raise raise unless /uninitialized constant/.match?(e.message) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/resource_collection/resource_set.rb#L183 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/resource_collection/resource_set.rb#L186 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/role.rb#L227 Explicit raise raise e unless e.response.code == "404" # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L232 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L235 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L283 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L294 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L320 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L329 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_context/cookbook_compiler.rb#L390 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_list/run_list_expansion.rb#L227 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/run_list/run_list_expansion.rb#L231 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/server_api.rb#L74 Implicit raise raise # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/shell/shell_session.rb#L108 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user.rb#L121 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user_v1.rb#L171 Explicit raise raise e unless supported_versions && supported_versions.include?(0) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user_v1.rb#L212 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user_v1.rb#L216 Explicit raise raise e unless supported_versions && supported_versions.include?(0) # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user_v1.rb#L229 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/user_v1.rb#L250 Explicit raise raise e # https://github.com/chef/chef/blob/8af961bee34c587aabf10d39eb56a6c186abb691/lib/chef/util/diff.rb#L175 Implicit raise raise # https://github.com/rubychan/coderay/blob/f71b25d3112ac7fcc43ca48055030319ecc7a840/test/lib/test/unit/assertions.rb#L298 Implicit raise raise # https://github.com/rubychan/coderay/blob/f71b25d3112ac7fcc43ca48055030319ecc7a840/test/lib/test/unit/assertions.rb#L398 Explicit raise raise error # https://github.com/rubychan/coderay/blob/f71b25d3112ac7fcc43ca48055030319ecc7a840/test/lib/test/unit/assertions.rb#L422 Explicit raise raise error # https://github.com/athityakumar/colorls/blob/24e402c153274dc5b9cde89ad6235ac5a4746129/exe/colorls#L17 Explicit raise raise e # https://github.com/ddollar/foreman/blob/3a262714030a83a59388a48ffdb2e93cdac12388/lib/foreman/vendor/thor/lib/thor/base.rb#L446 Explicit raise config[:debug] || ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message) # https://github.com/ddollar/foreman/blob/3a262714030a83a59388a48ffdb2e93cdac12388/lib/foreman/vendor/thor/lib/thor/command.rb#L34 Explicit raise handle_argument_error?(instance, e, caller) ? instance.class.handle_argument_error(self, e, args, arity) : (raise e) # https://github.com/ddollar/foreman/blob/3a262714030a83a59388a48ffdb2e93cdac12388/lib/foreman/vendor/thor/lib/thor/command.rb#L36 Explicit raise handle_no_method_error?(instance, e, caller) ? instance.class.handle_no_command_error(name) : (raise e) # https://github.com/alexreisner/geocoder/blob/7467752a085da19656c3fe928ea750155c05d7d3/examples/reverse_geocode_job.rb#L33 Explicit raise raise exception # https://github.com/defunkt/gist/blob/232b69cad8a3931fda8319ac50158afa027a6e00/build/gist#L1465 Implicit raise raise if retried # https://github.com/defunkt/gist/blob/232b69cad8a3931fda8319ac50158afa027a6e00/lib/gist.rb#L159 Implicit raise raise if retried # https://github.com/haml/haml/blob/c3779f6ba0b1f90ed06efa483d386eae79573278/lib/haml/parser.rb#L165 Implicit raise raise if @raise_error # https://github.com/haml/haml/blob/c3779f6ba0b1f90ed06efa483d386eae79573278/lib/haml/parser.rb#L701 Explicit raise raise e # https://github.com/haml/haml/blob/c3779f6ba0b1f90ed06efa483d386eae79573278/test/haml/template_test.rb#L105 Explicit raise raise e # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/cask/quarantine.rb#L255 Explicit raise raise e unless e.stderr.include?("touch: #{test_file}: Operation not permitted") # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/requirements/macos_requirement.rb#L34 Implicit raise raise # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/test/formula_validation_spec.rb#L13 Explicit raise raise e # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/utils/shared_audits.rb#L31 Implicit raise raise unless e.message.match?(GitHub::API::GITHUB_IP_ALLOWLIST_ERROR) # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/utils/shared_audits.rb#L44 Implicit raise raise unless e.message.match?(GitHub::API::GITHUB_IP_ALLOWLIST_ERROR) # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/ruby-macho-4.1.0/lib/macho/fat_file.rb#L423 Explicit raise raise e if strict # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11471/lib/types/props/serializable.rb#L34 Implicit raise raise # https://github.com/Homebrew/brew/blob/8c4c7319fc6ba3a69b1ba65659b03d418ebbfb2f/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11471/lib/types/props/serializable.rb#L75 Implicit raise raise # https://github.com/nahi/httpclient/blob/d57cc6d5ffee1b566b5c189fe6dc8cc89570b812/lib/httpclient/session.rb#L533 Implicit raise raise # https://github.com/htty/htty/blob/8db7a36d5dffcd6eef66580f052a86bcf1f3636b/lib/htty/cli/http_method_command.rb#L40 Explicit raise raise e # https://github.com/toy/image_optim/blob/b3cd4fc889339dca78d4bbeafd59761d14618886/lib/image_optim/worker/pngout.rb#L38 Implicit raise raise unless Signal.list.key(e.signo) == 'SEGV' # https://github.com/toy/image_optim/blob/b3cd4fc889339dca78d4bbeafd59761d14618886/lib/image_optim/worker/pngout.rb#L39 Implicit raise raise unless resolve_bin!(:pngout).version <= '20150920' # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/command.rb#L93 Explicit raise raise e if cmd.trace # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/convertible.rb#L49 Explicit raise raise e if site.config["strict_front_matter"] # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/convertible.rb#L52 Explicit raise raise e if site.config["strict_front_matter"] # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/inclusion.rb#L20 Explicit raise raise e # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/renderer.rb#L111 Explicit raise raise e # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/renderer.rb#L134 Explicit raise raise e # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/tags/include.rb#L126 Explicit raise raise e # https://github.com/jekyll/jekyll/blob/60a9cd73569552b858e807cbd3c0e23455023cbc/lib/jekyll/tags/include.rb#L155 Explicit raise raise e # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/accessory.rb#L281 Implicit raise raise unless e.message.include?("already exists") # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/app/boot.rb#L24 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/app/boot.rb#L63 Explicit raise raise e # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/base.rb#L129 Explicit raise raise e # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/build.rb#L43 Implicit raise raise unless e.message =~ /(context not found|no builder|does not exist)/ # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/build.rb#L47 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/build.rb#L89 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/build.rb#L146 Implicit raise raise unless e.message =~ /error calling index: reflect: slice index out of range/ # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/healthcheck/poller.rb#L31 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/lock.rb#L42 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/main.rb#L269 Implicit raise raise # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/proxy.rb#L8 Implicit raise raise unless e.message.include?("already exists") # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/lib/kamal/cli/proxy.rb#L245 Implicit raise raise unless e.message.include?("The are other applications installed on") # https://github.com/basecamp/kamal/blob/4b2c9cdc7257fa52bff743b308033118a2897c41/test/cli/app_test.rb#L405 Explicit raise raise e unless allow_execute_error # https://github.com/github-linguist/linguist/blob/39fd5e93de98de3434cb3e857c5b1972c418f8c5/samples/Ruby/formula.rb#L200 Implicit raise raise # https://github.com/github-linguist/linguist/blob/39fd5e93de98de3434cb3e857c5b1972c418f8c5/samples/Ruby/formula.rb#L475 Explicit raise raise e if mirror_list.empty? # https://github.com/github-linguist/linguist/blob/39fd5e93de98de3434cb3e857c5b1972c418f8c5/samples/Ruby/inflector.rb#L253 Implicit raise raise unless e.message =~ /(uninitialized constant|wrong constant name) #{const_regexp(camel_cased_word)}$/ || # https://github.com/github-linguist/linguist/blob/39fd5e93de98de3434cb3e857c5b1972c418f8c5/samples/Ruby/inflector.rb#L256 Implicit raise raise unless e.message =~ /not missing constant #{const_regexp(camel_cased_word)}\!$/ # https://github.com/github-linguist/linguist/blob/39fd5e93de98de3434cb3e857c5b1972c418f8c5/samples/Ruby/sinatra.rb#L318 Explicit raise @scheduler.schedule { raise e } # https://github.com/middleman/middleman/blob/062430271f4aa353a783bfc9b1b76b558cab64ee/middleman-core/lib/middleman-core/renderers/sass.rb#L57 Explicit raise raise e if @context.app.build? # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogiri.rb#L69 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogiri.rb#L77 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogiri_fast.rb#L74 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogiri_fast.rb#L83 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogumbo.rb#L68 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/adapter/nokogumbo.rb#L77 Explicit raise raise e if @options[:rule_set_exceptions] # https://github.com/premailer/premailer/blob/cd34820d97832d89c8c18152e75404be82e931a7/lib/premailer/premailer.rb#L278 Explicit raise raise e if @options[:io_exceptions] # https://github.com/pry/pry/blob/34386156060298a1fc3064836bbf8179f5d4b970/lib/pry/color_printer.rb#L32 Implicit raise raise if exception.is_a?(Pry::Pager::StopPaging) # https://github.com/puma/puma/blob/a7e3d944fa66bbba355abb9efed8ce53048c7e7c/lib/puma/runner.rb#L165 Explicit raise raise e # https://github.com/puma/puma/blob/a7e3d944fa66bbba355abb9efed8ce53048c7e7c/lib/puma/server.rb#L619 Explicit raise raise e # https://github.com/puma/puma/blob/a7e3d944fa66bbba355abb9efed8ce53048c7e7c/test/helpers/integration.rb#L229 Explicit raise raise e # https://github.com/puma/puma/blob/a7e3d944fa66bbba355abb9efed8ce53048c7e7c/test/helpers/integration.rb#L407 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/acceptance/lib/puppet/acceptance/puppet_type_test_tools.rb#L97 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/configurer.rb#L756 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/configurer/downloader.rb#L36 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/face/epp.rb#L472 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/ffi/windows/api_types.rb#L67 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/file_system/windows.rb#L31 Implicit raise raise if e.code != Puppet::Util::Windows::File::ERROR_FILE_NOT_FOUND && # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/file_system/windows.rb#L211 Explicit raise raise e unless e.code == FILE_NOT_FOUND # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/functions/get.rb#L146 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/generate/type.rb#L232 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/http/client.rb#L323 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/http/pool.rb#L33 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/http/service/puppetserver.rb#L48 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/indirector/catalog/compiler.rb#L343 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/indirector/indirection.rb#L239 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/indirector/indirection.rb#L249 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/interface/face_collection.rb#L116 Implicit raise raise unless e.message =~ /-- #{path}$/ # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/interface/face_collection.rb#L121 Implicit raise raise unless e.message =~ /#{path}\.rb:\d+: / # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/network/http/connection.rb#L285 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/node/environment.rb#L612 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pal/pal_impl.rb#L501 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/parameter.rb#L447 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/parser/catalog_compiler.rb#L25 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/parser/compiler.rb#L40 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/parser/functions/sprintf.rb#L60 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/parser/script_compiler.rb#L56 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/evaluator/evaluator_impl.rb#L99 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/loaders.rb#L309 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/lookup/hiera_config.rb#L218 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/lookup/lookup_adapter.rb#L149 Explicit raise raise detail unless detail.issue_code.nil? # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/parser/evaluating_parser.rb#L33 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/pops/parser/slurp_support.rb#L112 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/package/dnfmodule.rb#L101 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/package/fink.rb#L86 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/package/fink.rb#L96 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/package/pkg.rb#L275 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/package/windows/package.rb#L56 Explicit raise raise e unless e.code == Puppet::Util::Windows::Error::ERROR_FILE_NOT_FOUND # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/provider/parsedfile.rb#L337 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/settings.rb#L1581 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/transaction/resource_harness.rb#L164 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util.rb#L229 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/execution.rb#L286 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/log.rb#L161 Explicit raise raise detail # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/suidmanager.rb#L42 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/adsi.rb#L182 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/adsi.rb#L498 Explicit raise raise e unless e.message =~ /8000500D/m # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/adsi.rb#L594 Explicit raise raise e unless e.message.include?('80041010') # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/process.rb#L238 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/process.rb#L266 Explicit raise raise e if e.code != ERROR_NO_SUCH_PRIVILEGE # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/registry.rb#L87 Explicit raise raise e unless e.code == Puppet::Util::Windows::Error::ERROR_FILE_NOT_FOUND # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/registry.rb#L260 Implicit raise raise if ex.message !~ /^Memory access .* is out of bounds$/i # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/service.rb#L33 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/sid.rb#L125 Implicit raise raise if e.code != ERROR_NONE_MAPPED # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/sid.rb#L148 Implicit raise raise if e.code != ERROR_INVALID_SID_STRUCTURE # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/lib/puppet/util/windows/sid.rb#L214 Implicit raise raise if e.code != ERROR_INVALID_SID_STRUCTURE # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/rakelib/memwalk.rake#L81 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/rakelib/memwalk.rake#L109 Explicit raise raise e # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/spec/lib/puppet_spec/language.rb#L53 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/spec/lib/puppet_spec/language.rb#L70 Implicit raise raise # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/spec/unit/hiera_puppet_spec.rb#L49 Implicit raise raise unless detail.message =~ /unknown setting/ # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/spec/unit/hiera_puppet_spec.rb#L58 Implicit raise raise unless detail.message =~ /unknown setting/ # https://github.com/puppetlabs/puppet/blob/7739378f6fa840d6dbee237132754c64f94cc38a/spec/unit/util_spec.rb#L901 Implicit raise raise # https://github.com/ruby/rake/blob/cd506552860e1e99db0046b019d2830ebd199923/lib/rake/application.rb#L571 Explicit raise raise ex # https://github.com/ruby/rake/blob/cd506552860e1e99db0046b019d2830ebd199923/lib/rake/task.rb#L223 Explicit raise raise ex # https://github.com/ruby/rake/blob/cd506552860e1e99db0046b019d2830ebd199923/lib/rake/task_manager.rb#L164 Explicit raise fail ex # https://github.com/ruby/rake/blob/cd506552860e1e99db0046b019d2830ebd199923/lib/rake/thread_pool.rb#L62 Explicit raise raise e # https://github.com/tmm1/rbtrace/blob/f990477f47c387a09cbd0a2e6e2d3bfff82eb0b0/lib/rbtrace/rbtracer.rb#L592 Explicit raise raise e # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/exe/rdoc#L12 Implicit raise raise unless e.name == :gem # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/exe/ri#L6 Implicit raise raise unless e.name == :gem # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc.rb#L111 Implicit raise raise unless e.name == :gem # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/encoding.rb#L82 Implicit raise raise unless e.message =~ /unknown encoding name - (.*)/ # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/generator/darkfish.rb#L259 Implicit raise raise # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/markup.rb#L138 Implicit raise raise # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/options.rb#L1143 Implicit raise raise # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/parser/ruby.rb#L2240 Explicit raise raise e # https://github.com/ruby/rdoc/blob/dd8c216263c1830f172d9cad05384077fdfced12/lib/rdoc/rdoc.rb#L397 Explicit raise raise e # https://github.com/troessner/reek/blob/e27cb58fd94fb0ce9e6609fabcafec49078d536e/lib/reek/examiner.rb#L97 Implicit raise raise unless @error_handler.handle error # https://github.com/resque/resque-scheduler/blob/a2fc23d7e23b90298d562f5846f8d7e8b07b274d/lib/resque/scheduler/lock/resilient.rb#L39 Implicit raise raise # https://github.com/resque/resque/blob/fa72b7b30adbbe9cf15d48784df78367b0294e82/lib/resque/job.rb#L203 Explicit raise raise e # https://github.com/resque/resque/blob/fa72b7b30adbbe9cf15d48784df78367b0294e82/lib/resque/worker.rb#L347 Explicit raise raise e # https://github.com/Mange/roadie/blob/3691e24c0cb62e7813eaab14a711aa479480e78c/lib/roadie/inliner.rb#L114 Implicit raise raise unless error.message.include?("XPath") # https://github.com/rubocop/rubocop/blob/ce3d448b72c56c980ec391bd6bfbfbb460258536/lib/rubocop/cop/commissioner.rb#L173 Explicit raise raise e if @options[:raise_error] # For internal testing # https://github.com/rubocop/rubocop/blob/ce3d448b72c56c980ec391bd6bfbfbb460258536/lib/rubocop/feature_loader.rb#L37 Implicit raise raise if e.path != target # https://github.com/rubocop/rubocop/blob/ce3d448b72c56c980ec391bd6bfbfbb460258536/lib/rubocop/feature_loader.rb#L48 Explicit raise raise error_for_namespaced_target # https://github.com/rubocop/rubocop/blob/ce3d448b72c56c980ec391bd6bfbfbb460258536/lib/rubocop/path_util.rb#L69 Explicit raise raise e # https://github.com/rubocop/rubocop/blob/ce3d448b72c56c980ec391bd6bfbfbb460258536/lib/rubocop/runner.rb#L161 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/cli/viz.rb#L26 Implicit raise raise unless e.message.to_s.include?("GraphViz not installed or dot not in PATH") # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/fetcher/compact_index.rb#L113 Implicit raise raise unless Bundler.feature_flag.allow_offline_install? && headers["If-None-Match"] # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/friendly_errors.rb#L121 Implicit raise raise if FriendlyErrors.disabled? # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/graph.rb#L146 Explicit raise raise e # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/plugin.rb#L125 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/plugin.rb#L352 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/rubygems_gem_installer.rb#L144 Implicit raise raise unless File.exist?(dir) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/runtime.rb#L67 Explicit raise raise e if e.is_a?(LoadError) # we handle this a little later # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/runtime.rb#L73 Implicit raise raise if dep.autorequire || e.path != required_file # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/runtime.rb#L80 Implicit raise raise if e.path != namespaced_file # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/source/git.rb#L368 Implicit raise raise unless Bundler.feature_flag.allow_offline_install? # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb#L2350 Explicit raise raise err # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/vendor/thor/lib/thor/base.rb#L586 Explicit raise config[:debug] || ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/vendor/thor/lib/thor/command.rb#L35 Explicit raise handle_argument_error?(instance, e, caller) ? instance.class.handle_argument_error(self, e, args, arity) : (raise e) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/lib/bundler/vendor/thor/lib/thor/command.rb#L37 Explicit raise handle_no_method_error?(instance, e, caller) ? instance.class.handle_no_command_error(name) : (raise e) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/spec/support/artifice/helpers/compact_index.rb#L31 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/bundler/spec/support/helpers.rb#L527 Explicit raise raise(e) if tries > (seconds * 2) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems.rb#L206 Explicit raise raise e # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/core_ext/kernel_require.rb#L144 Explicit raise raise load_error # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/package/tar_reader.rb#L59 Explicit raise raise e unless e.message.match?(/ is not an octal string$/) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/package/tar_reader/entry.rb#L96 Implicit raise raise unless e.message == "string contains null byte" # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/request_set.rb#L202 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/safe_marshal/visitors/to_ruby.rb#L353 Implicit raise raise unless e.receiver == receiver # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/specification.rb#L1256 Implicit raise raise if retry_count >= 3 # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/specification.rb#L1265 Implicit raise raise unless message.include?("YAML::") # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb#L84 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/net-http/lib/net/http.rb#L1691 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/net-http/lib/net/http.rb#L2370 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/net-http/lib/net/http.rb#L2378 Explicit raise raise exception # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/net-http/lib/net/http/response.rb#L580 Explicit raise raise err if success # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/lib/rubygems/vendor/timeout/lib/timeout.rb#L44 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_bundled_ca.rb#L43 Implicit raise raise # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_gem_ext_cargo_builder.rb#L47 Explicit raise raise(e) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_gem_ext_cargo_builder.rb#L73 Explicit raise raise(e) # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_gem_package.rb#L195 Explicit raise raise e # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_gem_package.rb#L565 Explicit raise raise e # https://github.com/rubygems/rubygems/blob/238eedc5376240954676a893b631f7def7ed1efd/test/rubygems/test_gem_package_task.rb#L9 Implicit raise raise unless e.path == "rake/packagetask" # https://github.com/jmettraux/rufus-scheduler/blob/dba475a681a1a4ba129e17bb47db32023a33534e/lib/rufus/scheduler/jobs_core.rb#L246 Explicit raise fail se unless do_rescue # https://github.com/jmettraux/rufus-scheduler/blob/dba475a681a1a4ba129e17bb47db32023a33534e/lib/rufus/scheduler/util.rb#L39 Explicit raise fail ae # https://github.com/jmettraux/rufus-scheduler/blob/dba475a681a1a4ba129e17bb47db32023a33534e/lib/rufus/scheduler/util.rb#L51 Explicit raise fail se # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/bin/multi_queue_bench#L199 Explicit raise raise e if $DEBUG # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/bin/sidekiq#L33 Explicit raise raise e if $DEBUG # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/bin/sidekiqload#L218 Explicit raise raise e if $DEBUG # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/capsule.rb#L117 Implicit raise raise # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/client.rb#L242 Implicit raise raise # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/component.rb#L13 Explicit raise raise ex # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/component.rb#L63 Explicit raise raise ex if reraise # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/config.rb#L151 Implicit raise raise unless /unknown command/.match?(ex.message) # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/config.rb#L179 Implicit raise raise # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/job_retry.rb#L133 Explicit raise raise e unless msg["retry"] # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/processor.rb#L197 Explicit raise raise s # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/processor.rb#L210 Explicit raise raise ex # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/scheduled.rb#L59 Implicit raise raise unless e.message.start_with?("NOSCRIPT") # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/lib/sidekiq/web/helpers.rb#L361 Implicit raise raise unless e.message.eql?("invalid byte sequence in UTF-8") # https://github.com/sidekiq/sidekiq/blob/636b4fd36786f27969b1551737e8540eb78c1c4d/test/retry_test.rb#L453 Explicit raise raise e1 # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L263 Implicit raise raise if frame.iseq.type != :method # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L271 Implicit raise raise if frame.iseq.type != :block # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L275 Implicit raise raise unless catch_entry # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L289 Implicit raise raise if frame.iseq.type != :block # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L293 Implicit raise raise unless catch_entry # https://github.com/ruby-syntax-tree/syntax_tree/blob/ea300f2276419554a8f3a72de9b8ed73ef324f23/lib/syntax_tree/yarv/vm.rb#L309 Implicit raise raise unless catch_entry # https://github.com/shugo/textbringer/blob/60656a9719df9f290a5c7050e4108bca4becf4fe/exe/txtb#L65 Implicit raise raise # https://github.com/shugo/textbringer/blob/60656a9719df9f290a5c7050e4108bca4becf4fe/lib/textbringer/mode.rb#L35 Implicit raise raise # https://github.com/shugo/textbringer/blob/60656a9719df9f290a5c7050e4108bca4becf4fe/lib/textbringer/utils.rb#L58 Explicit raise raise e # https://github.com/shugo/textbringer/blob/60656a9719df9f290a5c7050e4108bca4becf4fe/lib/textbringer/utils.rb#L374 Implicit raise raise if e.is_a?(SystemExit) # https://github.com/shugo/textbringer/blob/60656a9719df9f290a5c7050e4108bca4becf4fe/lib/textbringer/utils.rb#L378 Implicit raise raise # https://github.com/defunkt/unicorn/blob/e2b2f325fb9cc877496bbd4273fd4bf4fc84ec59/lib/unicorn/http_server.rb#L250 Explicit raise raise err if tries == 0 # https://github.com/defunkt/unicorn/blob/e2b2f325fb9cc877496bbd4273fd4bf4fc84ec59/lib/unicorn/http_server.rb#L258 Explicit raise raise err # https://github.com/defunkt/unicorn/blob/e2b2f325fb9cc877496bbd4273fd4bf4fc84ec59/test/test_helper.rb#L175 Explicit raise raise err # https://github.com/defunkt/unicorn/blob/e2b2f325fb9cc877496bbd4273fd4bf4fc84ec59/test/unit/test_server.rb#L23 Explicit raise raise e # https://github.com/defunkt/unicorn/blob/e2b2f325fb9cc877496bbd4273fd4bf4fc84ec59/test/unit/test_server.rb#L41 Explicit raise raise e # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/bin/vagrant#L260 Implicit raise raise if !defined?(Vagrant) || !defined?(Vagrant::Errors) # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/bin/vagrant#L261 Implicit raise raise if !e.is_a?(Vagrant::Errors::VagrantError) # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/action/builtin/box_add.rb#L246 Implicit raise raise if !expanded # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/action/builtin/box_add.rb#L408 Implicit raise raise if urls.length == 1 # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/action/builtin/box_check_outdated.rb#L73 Implicit raise raise if !env[:box_outdated_ignore_errors] # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/action/general/package.rb#L142 Implicit raise raise if !e.to_s.include?("symlink") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/action/warden.rb#L58 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/batch_action.rb#L95 Implicit raise raise if !par && Process.pid == start_pid # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/bundler.rb#L308 Explicit raise raise failure if @init_retried # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/bundler.rb#L314 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/bundler.rb#L796 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/plugin/manager.rb#L356 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/plugin/v2/trigger.rb#L289 Explicit raise raise e # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/plugin/v2/trigger.rb#L333 Explicit raise raise e # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/util/downloader.rb#L127 Implicit raise raise if retried # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/util/downloader.rb#L132 Implicit raise raise if e.extra_data[:code].to_i != 33 # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/lib/vagrant/util/retryable.rb#L29 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers.rb#L431 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/direct.rb#L47 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/direct.rb#L71 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/internal/graph/mappers.rb#L189 Implicit raise raise if fresh # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/known_types.rb#L60 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/known_types.rb#L90 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/known_types.rb#L137 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/mappers/known_types.rb#L191 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/service/communicator_service.rb#L57 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/util/direct_conversions.rb#L60 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/commands/serve/util/exception_transformer.rb#L29 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/communicators/ssh/communicator.rb#L94 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/communicators/ssh/communicator.rb#L402 Implicit raise raise if e.message !~ /Permission denied/ # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/communicators/ssh/communicator.rb#L800 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/communicators/winrm/communicator.rb#L63 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/guests/windows/cap/reboot.rb#L39 Implicit raise raise if wait_remaining < 0 # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/docker/driver.rb#L226 Implicit raise raise if !e.to_s.include?("No such image") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/docker/driver/compose.rb#L86 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/docker/driver/compose.rb#L167 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_0.rb#L99 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_0.rb#L440 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_0.rb#L541 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_1.rb#L137 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_1.rb#L190 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_1.rb#L543 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_1.rb#L651 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_2.rb#L97 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_2.rb#L476 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_2.rb#L584 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_2.rb#L680 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_3.rb#L143 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_3.rb#L194 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_3.rb#L587 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_3.rb#L620 Implicit raise raise if !e.extra_data[:stderr].include?("VERR_ALREADY_EXISTS") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_4_3.rb#L706 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L105 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L229 Implicit raise raise # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L298 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L363 Implicit raise raise if !e.extra_data[:stderr].include?("VERR_E_FILE_ERROR") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L735 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L776 Implicit raise raise if !e.extra_data[:stderr].include?("VERR_ALREADY_EXISTS") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_5_0.rb#L898 Implicit raise raise if !e.extra_data[:stderr].include?("VBOX_E_FILE_ERROR") # https://github.com/hashicorp/vagrant/blob/26a1ff10a5a279ceb48ff629e9376140f90c4990/plugins/providers/virtualbox/driver/version_7_0.rb#L75 Implicit raise raise if !err.extra_data[:stderr].include?("VBOX_E_OBJECT_NOT_FOUND") # https://github.com/lsegal/yard/blob/e833aac7a01510245dd4ae1d1d18b046c8293c2d/lib/yard/cli/diff.rb#L230 Explicit raise raise(e) # https://github.com/lsegal/yard/blob/e833aac7a01510245dd4ae1d1d18b046c8293c2d/lib/yard/code_objects/extra_file_object.rb#L116 Implicit raise raise unless e.message =~ /invalid byte sequence/ # https://github.com/lsegal/yard/blob/e833aac7a01510245dd4ae1d1d18b046c8293c2d/lib/yard/serializers/yardoc_serializer.rb#L25 Implicit raise raise # https://github.com/lsegal/yard/blob/e833aac7a01510245dd4ae1d1d18b046c8293c2d/spec/spec_helper.rb#L70 Explicit raise raise e
@koic
Copy link
Member

koic commented Aug 11, 2025

As stated in rubocop/rubocop#14429, I am personally leaning toward the view that this rule should not be enforced. The argument to raise depends on the rescue syntax. (In the sample code marked as good, the variable e has the issue of being unused.)

# bad begin something_that_might_fail rescue SomeException => e # handle SomeException raise e end # good begin something_that_might_fail rescue SomeException => e # handle SomeException raise end

Moreover, the combination of rescue => e and raise(e) is sufficiently common. Even if the e in rescue is omitted, as shown in the real-world-ruby-apps data, there is no clear superiority or inferiority regarding whether or not raise has an argument. Given the lack of an obvious difference, a better approach is to respect the user's intent, I think.

@lovro-bikic
Copy link
Contributor Author

lovro-bikic commented Aug 11, 2025

The argument to raise depends on the rescue syntax.

Isn't it the other way around, the rescue syntax depends on the argument to raise? You can call just raise whether you capture the error into a variable or don't, whereas with raise e you cannot not capture it into a variable.

@koic
Copy link
Member

koic commented Aug 13, 2025

It means that this does not hold as a simple condition like the presence or absence of a default argument for a method, such as [1, 2, 3].sum(0) and [1, 2, 3].sum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants