我是Thor(和Ruby)的新手,我正在考慮在構建腳本中使用它,因爲它表示它可以替代Rake(因此可以替換爲Rake )。但是經過短暫的試用後,我對它返回的錯誤狀態感到困惑。我很快瀏覽了wiki,但沒有看到任何提及。如果發生錯誤,Ruby/Thor退出狀態
只需第一 「簡單實施例」,test.thor
:
class Test < Thor
desc "example", "an example task"
def example
puts "I'm a thor task!"
end
end
版本#:
eruve>thor version
Thor 0.18.1
我試圖故意下面,一個錯誤的命令:
eruve>ruby --version; thor test:example badarg; echo exit status: $?
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin10.8.0]
ERROR: thor example was called with arguments ["badarg"]
Usage: "thor test:example".
exit status: 0
所以,出現了一個錯誤,但它以0的狀態退出......意味着我寧願不用它在(n on-ruby)腳本,否則腳本會繼續運行,即使應該終止。隨後的錯誤可能難以分析。
我必須失去了一些東西,所以我的問題:
有一種簡單的方法來獲得在發生錯誤的情況下默認爲非零狀態(配置文件等)?
如果不是,我應該怎麼做才能正確嗎?
謝謝。
+1因爲它導致了黑客(請參閱我的答案),儘管這不是直接可用的,特別是作爲Ruby之外的解決方案。 – eruve