防御性编程/R

遇到Bug是很常见的一件事情,肯定有同学会想:我能不能在遇到Bug的情况之下,继续运行代码呢?
这就涉及到防御性编程了。

三种最主要的调试工具

 traceback()
options(error = browser) 

断点

异常处理

try
当程序出现错误的时候,try可以让程序继续正常的执行,你只需要
将可能产生错误的语句包含到try语句里面

tryCatch 条件处理

tryCatch()# 是一种处理条件的通用工具,除了错误以外,还可以对警告

消息,中断,采取不同的行为

  k <- tryCatch(expr = Condition,error=function(e){print('error')},warning=function(e){print('warinig')},
                message=function(e){print('message')})
}
mytrycathc(stop(1))
mytrycathc(warning(1))
mytrycathc(message(1))
> mytrycathc(stop(1))
[1] "error"
> mytrycathc(warning(1))
[1] "warinig"
> mytrycathc(message(1))
[1] "message"

你可能感兴趣的:(防御性编程/R)