在tryCatch
的通常实现中,警告处理程序通常会返回一些自定义值,例如
tryCatch(expr,
warning = function(w) { print(w) ; return(NULL) }
如果我希望警告处理程序在不再运行expr
的情况下返回expr
的结果,该怎么办? (原因是expr
是一个API调用,切入我的限制。)我试过
tryCatch({res <- expr; return(res)},
warning = function(w) { print(w) ; return(res) }
但当然这不起作用,因为res
处理程序中没有warning
。