내가 사용하는 'rubyoverflow'보석 :예외 처리
begin
puts "=== 1 ==="
qt = Questions.retrieve_by_tag(tag).questions
puts "=== 2 ==="
rescue
puts "=== 3 ==="
end
하지만 가끔은 내가 콘솔에 오류가 발생합니다 :
라인 843 열 4
에 YAML을 구문 분석 할 수 없습니다C : /Ruby192/lib/ruby/1.9.1/psych.rb : 148 :
parse' C:/Ruby192/lib/ruby/1.9.1/psych.rb:148:in
parse_stream '... rubyoverflow (1.0.1) lib/rubyoverflow.rb : 86 :request' ... C:/Ruby192/lib/ruby/1.9.1/webrick/server.rb:183:in
블록 시작 _ 스레드'
하지만 보석에 대한 오류가 아니라 예외 처리에 관한 질문입니다. 난 단지 라인 콘솔에서 얻을 :
puts "=== 1 ==="
하지만 라인
puts "=== 2 ==="
puts "=== 3 ==="
이유
? 라인이qt = Questions.retrieve_by_tag(tag).questions
이 실패 할 경우
어떻게 내 프로그램의 esecution을 복원 할 수 있습니다?
아니야. 다른 스레드에서 던져지는 예외입니다 :'/webrick/server.rb:295:in 'in start_thread' '블록. 나는 rsolr Sunspot과 같은 문제에 부딪쳤다. 그것은 모델 저장에 콜백을 생성하고, 그것을 잡을 방법이없는 것 같습니다! 나는 특별한 예외'Errno :: ECONNREFUSED'와'Exception'을 잡으려고했지만, 여전히 실패한다. 스택 추적은 내 코드를 전혀 나열하지 않습니다. Webbrick부터 rsolr까지의 모든 프레임 워크 코드입니다. – Chloe