Как я могу справиться с "ошибкой" в общении с twitter.com? (рубин + твиттер драгоценный камень) - PullRequest
1 голос
/ 21 апреля 2010

У меня есть хороший кусок кода, который работает. Я пытался твитнуть тот же текст, и мой сценарий закончился, потому что /lib/ruby/gems/1.8/gems/twitter-0.9.4/lib/twitter.rb:87:in 'raise_errors': (403): Forbidden - Status is a duplicate. (Twitter::General)

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

Как мне справиться с ошибкой? Так что мой сценарий будет хорошо закончен не из-за ошибки?

oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
oauth.authorize_from_access('access token', 'access secret')

client = Twitter::Base.new(oauth)
response = client.update('Heeeyyyyoooo from Twitter Gem!')

1 Ответ

2 голосов
/ 21 апреля 2010

Вы можете обернуть любой оператор ruby ​​или блок операторов в begin .. rescue .. end, чтобы перехватывать ошибки - вы можете попробовать это:

begin
  oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
  oauth.authorize_from_access('access token', 'access secret')

  client = Twitter::Base.new(oauth)
  response = client.update('Heeeyyyyoooo from Twitter Gem!')
rescue Twitter::General
  # Catch the error and do nothing
end

Если хотитечтобы поймать любую ошибку, вы можете изменить строку спасения, просто сказав rescue.Вы можете прочитать больше о них на сайте ruby-doc .

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