2016-11-18 63 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