J'utilise bijou 'de rubyoverflow' dans des rails:manutention exception
begin
puts "=== 1 ==="
qt = Questions.retrieve_by_tag(tag).questions
puts "=== 2 ==="
rescue
puts "=== 3 ==="
end
Mais parfois, je reçois l'erreur sur la console:
n'a pas pu analyser YAML à la ligne 843 colonne 4
C: /Ruby192/lib/ruby/1.9.1/psych.rb: 148: dans
parse' C:/Ruby192/lib/ruby/1.9.1/psych.rb:148:in
parse_stream '... rubyoverflow (1.0.1) lib/rubyoverflow.rb: 86: dansrequest' ... C:/Ruby192/lib/ruby/1.9.1/webrick/server.rb:183:in
bloc dans start_thread'
Mais la question n'est pas sur l'erreur dans la gemme, mais sur la gestion des exceptions. Je reçois dans la console seule ligne:
puts "=== 1 ==="
mais pas les lignes
puts "=== 2 ==="
puts "=== 3 ==="
pourquoi?
Comment puis-je restaurer esecution de mon programme si la ligne
qt = Questions.retrieve_by_tag(tag).questions
échoue?
Ce n'est pas ça. Notez qu'il s'agit d'une exception lancée sur un autre thread: '/webrick/server.rb:295:in 'block in start_thread''. J'ai rencontré le même problème avec rsolr Sunspot. Il crée un rappel sur la sauvegarde du modèle, et il semble qu'il n'y a aucun moyen de l'attraper! J'ai essayé d'attraper l'exception spécifique 'Errno :: ECONNREFUSED', et aussi' Exception', mais il échoue toujours. La trace de la pile ne répertorie aucun de mes codes. C'est tout le code du framework, de Webbrick à rsolr. – Chloe