我正在升級舊的rails應用程序並升級Paperclip。我有一個使用Paperclip.run在我的處理器中運行一些手動轉換語句的自定義處理器。偶爾會有一個糟糕的文件滑過imagemagick不喜歡的地方,所以我們會捕獲錯誤並回複用戶。如何捕捉Paperclip.run(cmd)錯誤
老辦法如下(此代碼失敗):
begin
Paperclip.run("convert", cmd)
rescue PaperclipCommandLineError
raise PaperclipError, "There was an error processing the tiles for #{@basename}" if whiny
end
它用來捕捉命令錯誤,提高驗證錯誤。這不再起作用,因爲不再有PaperclipCommandLineError。
看看代碼它看起來像Paperclip.run()使用https://github.com/thoughtbot/cocaine來處理它的命令。縱觀可卡因文檔看起來我們可以趕上退出代碼和恢復方式的東西,如:
begin
Cocaine::CommandLine.new("convert", cmd)
rescue Cocaine::ExitStatusError => e
#error handling here
end
威爾Paperclip.run()返回一個可卡因:: ExitStatusError是否有問題?或者,因爲我只是使用Paperclip.run()作爲包裝來運行我的命令,我應該使用Cocaine :: CommandLine嗎?感謝您的見解。
真棒,正是我所需要的。謝謝。 –
不用擔心。樂於幫助。 –