出现错误时,Ruby / Thor退出状态
发布时间:2020-12-16 19:31:50 所属栏目:百科 来源:网络整理
导读:我是Thor(和 Ruby)的新手,我正在考虑在构建脚本中使用它,因为据说它可以替代Rake(因此对Make). 但经过短暂的试用后,我对它返回的错误状态感到困惑.我很快就浏览了维基,但没有看到任何提及. 只有第一个“简单示例”,test.thor: class Test Thor desc "exampl
我是Thor(和
Ruby)的新手,我正在考虑在构建脚本中使用它,因为据说它可以替代Rake(因此对Make).
但经过短暂的试用后,我对它返回的错误状态感到困惑.我很快就浏览了维基,但没有看到任何提及. 只有第一个“简单示例”,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退出…意味着我宁愿不在(非ruby)脚本中使用它,否则脚本将继续运行,即使它应该终止.后续错误可能难以分析. 我必须遗漏一些东西,因此我的问题是: >如果出现错误(配置文件等),是否有一种简单的方法可以默认获得非零状态? 谢谢. 解决方法
我知道这已经回答了,但我认为这是一个更好的答案所以我认为无论如何我都会贡献它.
Thor有一种方法可以用来改变行为,因此错误会导致退出代码非零.它没有很好地记录(恕我直言). class Test < Thor def self.exit_on_failure? true end desc "example","an example task" def example puts "I'm a thor task!" end end 这个的默认值是莫名其妙的错误.我不知道为什么有人会希望它表现得像个人一样. Thor issue 244也解决了这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |