2012-05-22 2 views
0

나는 루비 디버그를 사용하여 예외를 던지고 조용히 먹는 코드로 뛰어 들고 있습니다. (코드는 보석 내부에, 그래서 정말 좋은 이유없이 직접 편집 할 수 혐오 해요.) 나는이 라인에 도착raise 블록 내에서 디버깅 할 때 암시 적 예외 검사

: 라인 (170)으로

167  def catch_exceptions 
    168   begin 
    169   yield 
    170   rescue Exception 
=> 171   rollback 
    172   end 
    173  end 
    174 

rescue Exception => e로 정의되지 않은 예외 객체가 선언되지 않았습니다.

이 "암시 적"예외 객체를 검사하는 방법이 있습니까?

답변

3

전역 변수 $!을 사용하여 가장 최근 예외에 액세스 할 수 있습니다.

나는 항상 선택의 여지가 있지만 보석을 고치거나 다른 것을 사용하는 것을 고려하고 있음을 알고 있습니다. 그 catch-all 접근법은 예외를 추적 할 때 매우 나쁩니다.