2013-02-19 72 views
2

我想用自定義退出代碼中止一個rake任務(與正在執行的shell腳本通信,滿足特定的條件)。使用自定義退出代碼失敗Rake任務?

成功的Rake任務返回0,失敗總是返回1.是否有辦法制作自定義代碼?

+1

你有沒有試過類似'exit 2'的東西? – Iazel 2013-02-19 23:16:58

回答

4

正確的方法是使用所需的退出代碼調用exit,與您期望的其他編程語言不同,它不會立即退出程序,而是會產生SystemExit異常,該異常又會被捕獲通過Rake和正確處理(通過執行任何必需的清理,然後用狀態碼傳播退出請求直至運行rake的腳本)。