2011-05-18 57 views
1

我有一堆需要ftools的Ruby 1.8.x腳本。如何在Ruby 1.9和1.8中捕獲LoadError異常?

當我在Ruby 1.9中運行它們時,如何讓這些腳本停止拋出異常?

我想盡可能地保留,以便腳本在1.8和1.9中均能成功運行。我不想安裝RVM或類似的東西,因爲最好是編寫在1.9和1.8版本都可以正常運行的代碼。

這是我已經嘗試過:

begin; require 'ftools' rescue LoadError nil end; 
begin; require 'fileutils' rescue nil; end; 

我怎樣才能得到這個工作。如果沒有找到ftools,那麼期望的結果是ruby默默地失敗,然後轉而使用fileutils。

回答

2

您是否嘗試過在救援處理程序中要求使用備用庫?

begin 
    require 'ftools' 
rescue LoadError 
    require 'fileutils' 
end 
+0

啊,當然這樣做了。謝謝。 – stepmoz 2011-05-18 16:56:00