我们知道无论是java和python都有错误处理机制,java是try。。。catch之类的形式,python是try。。。except的形式,这种抓错的形式是很好的,在R中也有类似的东西,那就是tryCatch函数,刚刚开始是不知道,后来把R机器学习实战那本书的代码写了一遍才知道,具体看看怎么用的把:
(1)抓取错误
tryCatch(libray(xx),error=function(e){print("出现错误")} )
结果:
[1] "出现错误"
当xx包出现错误时候就会执行error函数 ,把error的结果执行出来
(2)抓取错误和警告
tryCatch(libray(xx),warning = function(w){print("出现警告")},
error=function(e){print("出现错误")} )
(3)finally最后都会执行,跟python和java类似
tryCatch(libray(xx),warning = function(w){print("出现警告")},
error=function(e){print("出现错误")},
finally={
print("导入ggplot2包")
library(ggplot2)
}
)
这个函数还是蛮试用的,自己写好的代码要放到别人机器上去执行,就会出现别人机器上缺包的情况,R软件不像sas那样是商业软件,东西都统一封装的,这个可能也是R的弊病把。。。总之这个函数用处具多,其余的留给你们想象去。。。。。。
(1)抓取错误
tryCatch(libray(xx),error=function(e){print("出现错误")} )
结果:
[1] "出现错误"
当xx包出现错误时候就会执行error函数 ,把error的结果执行出来
(2)抓取错误和警告
tryCatch(libray(xx),warning = function(w){print("出现警告")},
error=function(e){print("出现错误")} )
(3)finally最后都会执行,跟python和java类似
tryCatch(libray(xx),warning = function(w){print("出现警告")},
error=function(e){print("出现错误")},
finally={
print("导入ggplot2包")
library(ggplot2)
}
)
这个函数还是蛮试用的,自己写好的代码要放到别人机器上去执行,就会出现别人机器上缺包的情况,R软件不像sas那样是商业软件,东西都统一封装的,这个可能也是R的弊病把。。。总之这个函数用处具多,其余的留给你们想象去。。。。。。