我试图在 finally 块中关闭我的记录器实例,如下所示:
logger <- file("all.Rout", open="wt")
sink(logger, type="message")
tryCatch({
warning('test')
message("A")
log('a')
message("B")
}, error = function(e) {
}, finally = {
sink(type="message")
close(logger)
})
但是,只有message("A")
保存到日志中,没有其他内容。如果我执行以下操作,则问题已解决:
logger <- file("all.Rout", open="wt")
sink(logger, type="message")
tryCatch({
warning('test')
message("A")
log('a')
message("B")
}, error = function(e) {
}, finally = {
})
sink(type="message")
close(logger)
但是,我真的需要关闭在finally
块中,以便在引发错误时查看日志。
我该如何解决?