R 中的错误处理和记录
Error Handling and logging in R
我在 R 中编写了一个函数来将任何消息打印到日志文件和控制台。但是,如果在 运行 代码期间出现任何意外错误,则错误只会显示到控制台。有没有办法将错误消息写入控制台和日志文件?这是函数..
log_con <- file("Text1.txt", open="a")
loggerfn<-function(Message,LogConnection=log_con){
cat(Message, file = LogConnection)
cat(Message)
}
这里是示例代码...
for (i in 1:10)
{
loggerfn("loop begins\n",log_con)
a <- rnorm(n = 100, mean = i, sd = 5)
loggerfn(mean(a),log_con)
loggerfn("loop Completed\n",log_con)
if(i==8){
sdfs
}
}
在上面的代码中,我通过提供未定义的对象故意引入错误 sdfd.Below 如果错误消息仅显示在控制台中,是否有任何方法可以将错误消息写入控制台和日志文件?
Error: object 'sdfs' not found
使用 sink() 将消息和警告转移到文件中。诀窍是设置参数 type="message"
参考http://www.statmethods.net/interface/io.html
和 Output error/warning log (txt file) when running R script under command line
https://stat.ethz.ch/R-manual/R-devel/library/base/html/sink.html
sink( )
函数定义输出方向。
描述
sink 将 R 输出转移到一个连接(并停止这种转移)。
sink.number()
报告有多少转移正在使用。
sink.number(type = "message")
报告当前用于错误消息的连接数。
用法
sink(file = NULL, append = FALSE, type = c("output", "message"),
split = FALSE)
sink.number(type = c("output", "message"))
直接输出到文件
sink("myfile", append=FALSE, split=FALSE)
return输出到终端
sink()
追加选项控制输出是覆盖还是添加到文件。拆分选项确定输出是否也发送到屏幕以及输出文件。
这里有一些 sink() 函数的例子。
输出定向到 c:\projects 目录中的 output.txt。
输出覆盖现有文件。没有输出到终端。
sink("c:/projects/output.txt")
输出指向 cwd 中的 myfile.txt。附加输出
到现有文件。输出也发送到终端。
sink("myfile.txt", append=TRUE, split=TRUE)
重定向输出时,使用 cat( ) 函数来注释输出。
我在 R 中编写了一个函数来将任何消息打印到日志文件和控制台。但是,如果在 运行 代码期间出现任何意外错误,则错误只会显示到控制台。有没有办法将错误消息写入控制台和日志文件?这是函数..
log_con <- file("Text1.txt", open="a")
loggerfn<-function(Message,LogConnection=log_con){
cat(Message, file = LogConnection)
cat(Message)
}
这里是示例代码...
for (i in 1:10)
{
loggerfn("loop begins\n",log_con)
a <- rnorm(n = 100, mean = i, sd = 5)
loggerfn(mean(a),log_con)
loggerfn("loop Completed\n",log_con)
if(i==8){
sdfs
}
}
在上面的代码中,我通过提供未定义的对象故意引入错误 sdfd.Below 如果错误消息仅显示在控制台中,是否有任何方法可以将错误消息写入控制台和日志文件?
Error: object 'sdfs' not found
使用 sink() 将消息和警告转移到文件中。诀窍是设置参数 type="message"
参考http://www.statmethods.net/interface/io.html 和 Output error/warning log (txt file) when running R script under command line https://stat.ethz.ch/R-manual/R-devel/library/base/html/sink.html
sink( )
函数定义输出方向。
描述
sink 将 R 输出转移到一个连接(并停止这种转移)。
sink.number()
报告有多少转移正在使用。
sink.number(type = "message")
报告当前用于错误消息的连接数。
用法
sink(file = NULL, append = FALSE, type = c("output", "message"),
split = FALSE)
sink.number(type = c("output", "message"))
直接输出到文件
sink("myfile", append=FALSE, split=FALSE)
return输出到终端
sink()
追加选项控制输出是覆盖还是添加到文件。拆分选项确定输出是否也发送到屏幕以及输出文件。
这里有一些 sink() 函数的例子。
输出定向到 c:\projects 目录中的 output.txt。 输出覆盖现有文件。没有输出到终端。
sink("c:/projects/output.txt")
输出指向 cwd 中的 myfile.txt。附加输出 到现有文件。输出也发送到终端。
sink("myfile.txt", append=TRUE, split=TRUE)
重定向输出时,使用 cat( ) 函数来注释输出。