防御性编程/R

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

traceback() options(error = browser)

断点
异常处理 try
当程序出现错误的时候,try可以让程序继续正常的执行,你只需要
将可能产生错误的语句包含到try语句里面
tryCatch 条件处理 【防御性编程/R】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"

    推荐阅读