Пользовательское исключение Ruby Rescue - PullRequest
0 голосов
/ 16 ноября 2018

В следующем примере:

class Foo
  class MyCustomerror < StandardError
    def message
      "My custom error"
    end
 end

 def self.do_standard
   1 / 0
 rescue StandardError => e
   puts e.message
 end

 def self.do_custom
   1 / 0
 rescue MyCustomerror => e
  puts e.message
 end
end

У меня проблема с блоком восстановления вызовов, параметрами которого является MyCustomerror.Если я вызываю Foo.do_standard, вызывается спасательный блок, однако, когда я вызываю Foo.do_custom, спасательный блок с MyCustomerror не вызывается.В чем проблема?

1 Ответ

0 голосов
/ 16 ноября 2018

В вашем коде нет места, которое могло бы вызвать исключение MyCustomError, поэтому спасать нечего. Единственное исключение, которое может быть вызвано этим кодом, это ZeroDivisionError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...