Как отобразить тип ошибки в ruby? - PullRequest
24 голосов
/ 22 сентября 2009

в следующем коде

begin
 raise StandardError, 'message'
 #some code that raises a lot of exception
rescue StandardError
 #handle error
rescue OtherError
 #handle error
rescue YetAnotherError
 #handle error
end

Я хочу напечатать предупреждение с указанием типа и сообщения об ошибке, не добавляя оператор печати в каждое из выражений спасения, например

begin
 raise StandardError, 'message'
 #some code that raises a lot of exception
rescue StandardError
 #handle error
rescue OtherError
 #handle error
rescue YetAnotherError
 #handle error
???
 print "An error of type #{???} happened, message is #{???}"
end

1 Ответ

54 голосов
/ 22 сентября 2009
begin
  raise ArgumentError, "I'm a description"
rescue Exception => ex
  puts "An error of type #{ex.class} happened, message is #{ex.message}"
end

Печать: произошла ошибка типа ArgumentError, сообщение о том, что я - описание

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