]> source.dussan.org Git - redmine.git/commitdiff
Don't rescue Exception class (#31387).
authorGo MAEDA <maeda@farend.jp>
Sat, 25 May 2019 06:50:25 +0000 (06:50 +0000)
committerGo MAEDA <maeda@farend.jp>
Sat, 25 May 2019 06:50:25 +0000 (06:50 +0000)
Patch by Go MAEDA and Pavel Rosický.

git-svn-id: http://svn.redmine.org/redmine/trunk@18197 e93f8b46-1217-0410-a6f0-8f06a7374b81

28 files changed:
app/controllers/admin_controller.rb
app/controllers/auth_sources_controller.rb
app/controllers/issue_statuses_controller.rb
app/models/import.rb
app/models/mail_handler.rb
app/models/mailer.rb
app/models/query.rb
app/models/repository.rb
app/models/repository/git.rb
app/models/tracker.rb
bin/changelog.rb
config/routes.rb
extra/mail_handler/rdm-mailhandler.rb
extra/svn/reposman.rb
lib/redmine/plugin.rb
lib/redmine/scm/adapters/abstract_adapter.rb
lib/redmine/scm/adapters/mercurial_adapter.rb
lib/redmine/scm/adapters/subversion_adapter.rb
lib/tasks/email.rake
lib/tasks/locales.rake
lib/tasks/migrate_from_trac.rake
test/functional/admin_controller_test.rb
test/test_helper.rb
test/unit/issue_nested_set_concurrency_test.rb
test/unit/mail_handler_test.rb
test/unit/mailer_test.rb
test/unit/project_nested_set_concurrency_test.rb
test/unit/tracker_test.rb

index eb2288eff71a32139ccf22a16da98cba88ca8e25..0a0a87eab5ca8bc4f89364011082ce6ca7866f04 100644 (file)
@@ -54,7 +54,7 @@ class AdminController < ApplicationController
       begin
         Redmine::DefaultData::Loader::load(params[:lang])
         flash[:notice] = l(:notice_default_data_loaded)
-      rescue Exception => e
+      rescue => e
         flash[:error] = l(:error_can_t_load_default_data, ERB::Util.h(e.message))
       end
     end
@@ -65,7 +65,7 @@ class AdminController < ApplicationController
     begin
       Mailer.deliver_test_email(User.current)
       flash[:notice] = l(:notice_email_sent, ERB::Util.h(User.current.mail))
-    rescue Exception => e
+    rescue => e
       flash[:error] = l(:notice_email_error, ERB::Util.h(Redmine::CodesetUtil.replace_invalid_utf8(e.message.dup)))
     end
     redirect_to settings_path(:tab => 'notifications')
index 8eaa155e49eec48960f538c1b2cece7a8a3eacfb..c746f339bc339bd7f1eb29e73d60031076d86681 100644 (file)
@@ -60,7 +60,7 @@ class AuthSourcesController < ApplicationController
     begin
       @auth_source.test_connection
       flash[:notice] = l(:notice_successful_connection)
-    rescue Exception => e
+    rescue => e
       flash[:error] = l(:error_unable_to_connect, e.message)
     end
     redirect_to auth_sources_path
index 2bc6e43de0fccf0493894ce15b28b876cc169c2e..2e5f660178df9f9ed8cfd19e7e7efa746c06616a 100644 (file)
@@ -74,7 +74,7 @@ class IssueStatusesController < ApplicationController
   def destroy
     IssueStatus.find(params[:id]).destroy
     redirect_to issue_statuses_path
-  rescue Exception => e
+  rescue => e
     flash[:error] = l(:error_unable_delete_issue_status, ERB::Util.h(e.message))
     redirect_to issue_statuses_path
   end
index ef4b0321e26f80cc917cf3f8615cb01ea689d343..721e812bd092b53691d9670d3780e7739f7663b6 100644 (file)
@@ -67,7 +67,7 @@ class Import < ActiveRecord::Base
       begin
         content = File.read(filepath, 256)
         separator = [',', ';'].sort_by {|sep| content.count(sep) }.last
-      rescue Exception => e
+      rescue => e
       end
     end
     wrapper = '"'
@@ -272,7 +272,7 @@ class Import < ActiveRecord::Base
     if file_exists?
       begin
         File.delete filepath
-      rescue Exception => e
+      rescue => e
         logger.error "Unable to delete file #{filepath}: #{e.message}" if logger
       end
     end
index 8b5d7133f6e8b96c45dfcd64a6535a82e50001fb..ef7ef429da8d8068f2b0ef90ab9e65dcd15ffb30 100755 (executable)
@@ -53,7 +53,7 @@ class MailHandler < ActionMailer::Base
   # Receives an email and rescues any exception
   def self.safe_receive(*args)
     receive(*args)
-  rescue Exception => e
+  rescue => e
     Rails.logger.error "MailHandler: an unexpected error occurred when receiving email: #{e.message}"
     return false
   end
index c0a30d35a44edaabe3314ecc4cc2ca76199b7de1..8ab43e9b69887c31efbf59d892957bd692452cd5 100644 (file)
@@ -705,7 +705,7 @@ class Mailer < ActionMailer::Base
       # Log errors when raise_delivery_errors is set to false, Rails does not
       mail.raise_delivery_errors = true
       super
-    rescue Exception => e
+    rescue => e
       if ActionMailer::Base.raise_delivery_errors
         raise e
       else
index 6dea88c78b2bf898fa0f4199e07450c82c0bb749..f5f929b307cc3eeacb7643957e9a812f8170a419 100644 (file)
@@ -327,7 +327,7 @@ class Query < ActiveRecord::Base
     if self == ::Query
       # Visibility depends on permissions for each subclass,
       # raise an error if the scope is called from Query (eg. Query.visible)
-      raise Exception.new("Cannot call .visible scope from the base Query class, but from subclasses only.")
+      raise "Cannot call .visible scope from the base Query class, but from subclasses only."
     end
 
     user = args.shift || User.current
index 0284e1b294937c1e80efed55d4a9ef6ae48199d5..7da99faa3a2f44d0fa845abbc5ca3c62e5754b4d 100644 (file)
@@ -382,7 +382,7 @@ class Repository < ActiveRecord::Base
     ret = ""
     begin
       ret = self.scm_adapter_class.client_command if self.scm_adapter_class
-    rescue Exception => e
+    rescue => e
       logger.error "scm: error during get command: #{e.message}"
     end
     ret
@@ -392,7 +392,7 @@ class Repository < ActiveRecord::Base
     ret = ""
     begin
       ret = self.scm_adapter_class.client_version_string if self.scm_adapter_class
-    rescue Exception => e
+    rescue => e
       logger.error "scm: error during get version string: #{e.message}"
     end
     ret
@@ -402,7 +402,7 @@ class Repository < ActiveRecord::Base
     ret = false
     begin
       ret = self.scm_adapter_class.client_available if self.scm_adapter_class
-    rescue Exception => e
+    rescue => e
       logger.error "scm: error during get scm available: #{e.message}"
     end
     ret
index a8c5efd33f66e1d2f0f0e9135071ed044f48b301..6cff4507d7112e5818ebacdb51bea277c2d0dbc1 100644 (file)
@@ -84,7 +84,7 @@ class Repository::Git < Repository
 
   def default_branch
     scm.default_branch
-  rescue Exception => e
+  rescue => e
     logger.error "git: error during get default branch: #{e.message}"
     nil
   end
index 088ad394807416f693f99f8c0e482fcf45a4130b..aeb86ca9e6b40a33312adbb111fb3242b1cccead 100644 (file)
@@ -142,6 +142,6 @@ class Tracker < ActiveRecord::Base
 
 private
   def check_integrity
-    raise Exception.new("Cannot delete tracker") if Issue.where(:tracker_id => self.id).any?
+    raise "Cannot delete tracker" if Issue.where(:tracker_id => self.id).any?
   end
 end
index 7862f21eb0bb13f17d126246c203d74888e8c5f5..2e17f22834f7522f06e4c71a6a98c44d04d0a055 100644 (file)
@@ -133,7 +133,7 @@ module Redmine
 
         begin
           raise if items_per_page == 0 || @no_of_issues == 0
-        rescue Exception => e
+        rescue => e
           puts "No changelog items to process.\n" +
                "Make sure to provide a valid version id as the -i parameter."
           exit
index 74257d3eab9c162d39f54348b8c2c2ef4fff2d94..3028ec1926179c52c3f467254774b9c7f13b415b 100644 (file)
@@ -357,7 +357,7 @@ Rails.application.routes.draw do
     if File.exists?(file)
       begin
         instance_eval File.read(file)
-      rescue Exception => e
+      rescue SyntaxError, StandardError => e
         puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
         exit 1
       end
index e0053fde3daf4ac44c1ceadc5b7cdd4fe6f10c31..b82532c48bef40aaa4127a9d474407fd23bb3478 100644 (file)
@@ -204,7 +204,7 @@ END_DESC
   def read_key_from_file(filename)
     begin
       self.key = File.read(filename).strip
-    rescue Exception => e
+    rescue => e
       $stderr.puts "Unable to read the key from #{filename}:\n#{e.message}"
       exit 1
     end
index c058b5cf4b75593dd8bf728e5c238362c535ff91..28c7d257afaaa26b158bd6498fd19f7554d737cd 100755 (executable)
@@ -54,7 +54,7 @@ end
 def read_key_from_file(filename)
   begin
     $api_key = File.read(filename).strip
-  rescue Exception => e
+  rescue => e
     $stderr.puts "Unable to read the key from #{filename}: #{e.message}"
     exit 1
   end
index b5fa3d209dbe043bb096e891ddfa42154b15af74..9985953397179e12cdaafb10e0363fc27dd92798 100644 (file)
@@ -422,7 +422,7 @@ module Redmine
         base_target_dir = File.join(destination, File.dirname(source_files.first).gsub(source, ''))
         begin
           FileUtils.mkdir_p(base_target_dir)
-        rescue Exception => e
+        rescue => e
           raise "Could not create directory #{base_target_dir}: " + e.message
         end
       end
@@ -433,7 +433,7 @@ module Redmine
         target_dir = File.join(destination, dir.gsub(source, ''))
         begin
           FileUtils.mkdir_p(target_dir)
-        rescue Exception => e
+        rescue => e
           raise "Could not create directory #{target_dir}: " + e.message
         end
       end
@@ -444,7 +444,7 @@ module Redmine
           unless File.exist?(target) && FileUtils.identical?(file, target)
             FileUtils.cp(file, target)
           end
-        rescue Exception => e
+        rescue => e
           raise "Could not copy #{file} to #{target}: " + e.message
         end
       end
index d66f0da251a8c7c69fd8e68c5e8177bd9c13634f..694273a712178fd9dca083d1087714373d59d2cc 100644 (file)
@@ -247,11 +247,7 @@ module Redmine
               io.close_write unless options[:write_stdin]
               block.call(io) if block_given?
             end
-          ## If scm command does not exist,
-          ## Linux JRuby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException
-          ## in production environment.
-          # rescue Errno::ENOENT => e
-          rescue Exception => e
+          rescue => e
             msg = strip_credential(e.message)
             # The command failed, log it and re-raise
             logmsg = "SCM command failed, "
@@ -282,7 +278,7 @@ module Redmine
           str.force_encoding(from)
           begin
             str.encode(to)
-          rescue Exception => err
+          rescue => err
             logger.error("failed to convert from #{from} to #{to}. #{err}")
             nil
           end
index d5a87f2b38aa2d3fd26e091a1c8f03d3ea864654..f882b08cb88390321efcfee3fdc020dc7138737d 100644 (file)
@@ -92,7 +92,7 @@ module Redmine
                    :lastrev => Revision.new(:revision => tip['revision'],
                                             :scmid => tip['node']))
         # rescue HgCommandAborted
-        rescue Exception => e
+        rescue => e
           logger.error "hg: error during getting info: #{e.message}"
           nil
         end
index 5ee7159c058b5286d28b8daba474f2ce86d195d6..ad4d7c281fb5f8147640cf539b1f0eb1cbf9be2f 100644 (file)
@@ -115,7 +115,7 @@ module Redmine
                               })
                             })
               end
-            rescue Exception => e
+            rescue => e
               logger.error("Error parsing svn output: #{e.message}")
               logger.error("Output was:\n #{output}")
             end
index 25d7d667b6387e9d8741dd1bfbbdf81359f98579..0b0b2b7529e3468a1130cc6f4218c9cffb5b56c8 100644 (file)
@@ -164,7 +164,7 @@ END_DESC
       begin
         Mailer.deliver_test_email(user)
         puts l(:notice_email_sent, user.mail)
-      rescue Exception => e
+      rescue => e
         abort l(:notice_email_error, e.message)
       end
     end
index 028a25154478920710572d5e735bf78b749bf5ec..952f8f6de66facac5bd270fbe4d2f1eeb86dcfc6 100644 (file)
@@ -168,12 +168,12 @@ END_DESC
         puts "parsing #{filename}..."
         begin
           parser.parse File.open(filename)
-        rescue Exception => e1
+        rescue => e1
           puts(e1.message)
           puts("")
         end
       end
-    rescue Exception => e
+    rescue => e
       puts(e.message)
     end
   end
index eb0d81e0ac8e6ed8c6e405cfa30da89b3e1af5b4..8bf31c3d305184a4a2d315d6c1bd0dc6cc3f4c78 100644 (file)
@@ -614,7 +614,7 @@ namespace :redmine do
         raise "This directory doesn't exist!" unless File.directory?(path)
         raise "#{trac_attachments_directory} doesn't exist!" unless File.directory?(trac_attachments_directory)
         @@trac_directory
-      rescue Exception => e
+      rescue => e
         puts e
         return false
       end
@@ -629,7 +629,7 @@ namespace :redmine do
         # If adapter is sqlite or sqlite3, make sure that trac.db exists
         raise "#{trac_db_path} doesn't exist!" if %w(sqlite3).include?(adapter) && !File.exist?(trac_db_path)
         @@trac_adapter = adapter
-      rescue Exception => e
+      rescue => e
         puts e
         return false
       end
index 6d951f68ff6d14ced649dbe314d4f861583f871f..e2bc2f9f0f3610d47c35ac20e1c4874065bae179 100644 (file)
@@ -75,7 +75,7 @@ class AdminControllerTest < Redmine::ControllerTest
 
   def test_load_default_configuration_data_should_rescue_error
     delete_configuration_data
-    Redmine::DefaultData::Loader.stubs(:load).raises(Exception.new("Something went wrong"))
+    Redmine::DefaultData::Loader.stubs(:load).raises(StandardError.new("Something went wrong"))
     post :default_configuration, :params => {
         :lang => 'fr'
       }
@@ -99,7 +99,7 @@ class AdminControllerTest < Redmine::ControllerTest
   end
 
   def test_test_email_failure_should_display_the_error
-    Mailer.stubs(:test_email).raises(Exception, 'Some error message')
+    Mailer.stubs(:test_email).raises(StandardError, 'Some error message')
     post :test_email
     assert_redirected_to '/settings?tab=notifications'
     assert_match /Some error message/, flash[:error]
index c9f6320bc6cb825baf26a6cbba74433503ac9422..868f6badf3923b547487a81dc1647d2055550e77 100644 (file)
@@ -121,7 +121,7 @@ class ActiveSupport::TestCase
   def self.ldap_configured?
     @test_ldap = Net::LDAP.new(:host => $redmine_test_ldap_server, :port => 389)
     return @test_ldap.bind
-  rescue Exception => e
+  rescue => e
     # LDAP is not listening
     return nil
   end
index 0a1c38bba0794a4b71281e6417f20621b28ab8bd..c31aae5b82a0da691dd28108306c1983729ae6a6 100644 (file)
@@ -84,7 +84,7 @@ class IssueNestedSetConcurrencyTest < ActiveSupport::TestCase
           ActiveRecord::Base.connection_pool.with_connection do
             begin
               yield
-            rescue Exception => e
+            rescue => e
               Thread.current[:exception] = e.message
             end
           end
index 61b60434f7b9b4707cbfa60a51299fd8653b93d4..40de6bbbc6bc80166d26a8e46e523b69dd2fee74 100644 (file)
@@ -1223,7 +1223,7 @@ class MailHandlerTest < ActiveSupport::TestCase
   end
 
   def test_safe_receive_should_rescue_exceptions_and_return_false
-    MailHandler.stubs(:receive).raises(Exception.new "Something went wrong")
+    MailHandler.stubs(:receive).raises(StandardError.new "Something went wrong")
 
     assert_equal false, MailHandler.safe_receive
   end
index 75890baf326111cca423f3664c4ed9223bd528d1..ad04fbb90d2fadaa55c216edbd25da452b31ae3b 100644 (file)
@@ -920,10 +920,10 @@ class MailerTest < ActiveSupport::TestCase
 
   def test_should_raise_delivery_errors_when_raise_delivery_errors_is_true
     mail = Mailer.test_email(User.find(1))
-    mail.delivery_method.stubs(:deliver!).raises(Exception.new("delivery error"))
+    mail.delivery_method.stubs(:deliver!).raises(StandardError.new("delivery error"))
 
     ActionMailer::Base.raise_delivery_errors = true
-    assert_raise Exception, "delivery error" do
+    assert_raise StandardError, "delivery error" do
       mail.deliver
     end
   ensure
@@ -932,7 +932,7 @@ class MailerTest < ActiveSupport::TestCase
 
   def test_should_log_delivery_errors_when_raise_delivery_errors_is_false
     mail = Mailer.test_email(User.find(1))
-    mail.delivery_method.stubs(:deliver!).raises(Exception.new("delivery error"))
+    mail.delivery_method.stubs(:deliver!).raises(StandardError.new("delivery error"))
 
     Rails.logger.expects(:error).with("Email delivery error: delivery error")
     ActionMailer::Base.raise_delivery_errors = false
index 715faed0c73907327513e79d00a50eafed8eca15..dbf936a75bca16c83a21ec36638805fa26a84b0e 100644 (file)
@@ -52,7 +52,7 @@ class ProjectNestedSetConcurrencyTest < ActiveSupport::TestCase
                 c2.reload.destroy
                 c1.reload.destroy
               end
-            rescue Exception => e
+            rescue => e
               Thread.current[:exception] = e.message
             end
           end
index 4cace7e3b9fed1a9827023f74428131a527061c0..62ac35afbc71b4decb8758e485ad1b885b745f81 100644 (file)
@@ -129,7 +129,7 @@ class TrackerTest < ActiveSupport::TestCase
     tracker = Tracker.find(1)
 
     assert_no_difference 'Tracker.count' do
-      assert_raise Exception do
+      assert_raise StandardError do
         tracker.destroy
       end
     end