2016-11-18 64 views
0

我需要一個本機擴展,即在我的文件系統中,但與我當前的系統不兼容。在這種情況下,我想對ruby做出反應並使用模擬實現,但是此代碼只是在不調用我的救援代碼的情況下崩潰。如何從不兼容的庫版本中拯救...(致命)ruby

相同的irb會議,其中我只是嘗試require 'dotstar'

+0

這種行爲是在OS X觀察 – Gizmomogwai

+1

你的問題不清楚:您只能'rescue'的'Exception'那是'raise'd。如果它「簡單地崩潰」,那麼你不能從中「拯救」。如果它提出了一個'Exception',那麼你可以從'Exception'中'rescue'。 –

+0

在查看ruby mri源代碼後,我發現,這是/是一個osx特定的行爲。對於現代版本的osx,它已經修復:https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/56832。請參閱相應的錯誤報告:https://bugs.ruby-lang.org/issues/12956。從技術上講,接受的答案以及@jör的評論是正確的。 – Gizmomogwai

回答

2

看起來這是一個重複:How do I rescue from a `require': no such file to load in ruby?

你必須明確resque LoadError

+0

嗨,謝謝你的提示,但在本機擴展的情況下它不起作用。我更新了我的問題還包括LoadError。 – Gizmomogwai

+0

我認爲這是正確的事情。我沒有這些寶石,但我粘貼你的更新代碼返回: =>得到LoadError => LoadError:無法加載這樣的文件 - dotstarsimulator – whodini9