Ruby спасет все исключения, кроме MyException - PullRequest
16 голосов
/ 25 января 2011

Можно ли в Ruby спасти все исключения, кроме указанного?

Ответы [ 3 ]

40 голосов
/ 25 января 2011
begin

rescue MyException
  raise #to reraise the same exception without changing it
rescue Exception => e
  #do something with e
end
9 голосов
/ 25 января 2011

Не как таковой нет. Но вы можете спасти все исключения и повторно вызвать исключение, если это MyException.

2 голосов
/ 27 января 2011

Не зная больше о вашей проблеме, я бы предложил ответ Кена Блума.

Однако я хотел бы узнать больше о том, почему вы это делаете.

Вы обеспокоены?о действительно серьезном исключении и не желающем его спасать, но разрешить спасение менее серьезных исключений?

В этом случае я бы сделал свое пользовательское исключение наследуемым от Exception вместо StandardErrorа затем иметь

begin
  do_risky_stuff
rescue # Not rescue Exception
  handle_less_serious_stuff
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...