2016-04-12 25 views
1

如果對此問題有明顯的答案,但我還沒有找到答案,表示抱歉。運行R腳本後打印所有錯誤消息的列表

我在找的所有錯誤都是相當於warnings()的錯誤 - 我想運行腳本,然後獲取運行腳本時發生的所有錯誤的列表。

必須在traceback()一看,它似乎像它可能做我想做的 - 幫助文件說:「默認顯示是最後一個未被捕獲的錯誤的堆棧的」 - 但無法弄清楚如何使它返回所有未被捕獲的錯誤,而不僅僅是最後一個。

+4

只要遇到錯誤,R就停止運行代碼。爲了避免這種情況,你可以嘗試使用'tryCatch()'運行每行的函數,並捕獲所有產生的錯誤。 – CephBirk

+0

謝謝@CephBirk。包含錯誤的單個函數可能會停止運行,但腳本的其餘部分仍在繼續。我有一個非常長的腳本,我不想通過控制檯一直回滾,看看是否有任何錯誤...所以在類似於警告()我可以運行在結束後爲我提供這個信息。 – jay

+0

只有當您處於交互模式時,腳本的其餘部分纔會繼續。我的建議是,保存腳本('script.R'),然後使用'source('script.R')'運行整個腳本。這將停止在每一個錯誤。如果你只是想看看是否存在錯誤,這將是一個很好的方法。 – CephBirk

回答

1

我的建議是,保存腳本(例如script.R),然後使用source('script.R')運行整個腳本。這將停止在每一個錯誤。如果你只是想看看是否存在錯誤,這將是一個很好的方法。