[英]RCaller: prevent automatic error printing
我正在使用RCaller
對Java application
的數據幀執行一些分析。 更具體地說,我想使用R
的CEM
庫運行Coarsened Exact Matching
。
就CEM
而言,如果找到任何匹配項,它將返回有關數學計算的一些數據。 否則(找不到匹配項)它將失敗。
當我從Java application
調用runAndReturnResult
方法時,如果CEM
在R
失敗,則RCaller
自動在Java application's console
上打印我添加到RCode
實例中的所有代碼。
有沒有辦法防止這種打印? 我的意思是,我想忽略找不到匹配項的情況,然后繼續前進,而不在控制台上打印消息。
預先感謝任何可以提供幫助的人。
有兩種方法可以解決此問題:
RCaller
使用的是java.util.logging.Logger
,因此您需要添加一個logback.xml - file
來禁用logger
的輸出。 R
使用tryCatch({})
,以使您的R code
不會中斷->不會觸發Java
任何錯誤。 我建議第二種解決方案。
更新:
您必須添加一個error - block
mat <- tryCatch({
cem(treatment = "c_CLUSTER", data = df, drop = dp))
}, error = function(e) {
NULL # or do something else
}, finally = {
})
而且,如果您想忽略所有warnings
,請將您的method call
包裝在preventWarnings suppressWarnings(<method-call>)
或者,您也可以在tryCatch - block
添加warning - block
tryCatch - block
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.