【发布时间】:2014-10-08 19:59:11
【问题描述】:
我正在尝试在 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 块中关闭,以便在引发错误时查看日志。
我该如何解决这个问题?
【问题讨论】:
标签: r logging exception-handling try-catch sink