Ошибка выполнения грабли, если ошибка возврата системного вызова
У меня есть Rakefile, который я использую для автоматизации некоторых задач в моем проекте.
Внутри некоторых задач я звоню system
, но даже если процесс возвращает ошибку, задача продолжается без каких-либо проблем.
Как я могу избежать этого? Я хочу сделать rake выход, когда какой-то подпроцесс возвращает ошибку.
заранее спасибо
2 ответа
Решение
Вы можете оценить возвращаемое значение system
system('inexistent command') or exit!(1)
puts "This line is not reached"
sh
это способ рейка для вызова команды. Это не удастся с аккуратным сообщением. По сравнению с system
, sh
распечатывает команду также.