stop
位于 base
包(package)。 说明
stop
停止当前表达式的执行并执行错误操作。
geterrmessage
给出最后的错误消息。
用法
stop(..., call. = TRUE, domain = NULL)
geterrmessage()
参数
... |
零个或多个可以强制为字符的对象(并且不带分隔符粘贴在一起)或单个条件对象。 |
call. |
逻辑,指示调用是否应成为错误消息的一部分。 |
domain |
请参阅 |
细节
错误操作由执行代码中建立的错误处理程序以及 options(error=)
设置的当前默认错误处理程序控制。首先像使用 signalCondition()
一样发出错误信号。如果没有处理程序或所有处理程序都返回,则打印错误消息(如果 options("show.error.messages")
为 true)并使用默认错误处理程序。交互式使用中的默认行为(NULL
error-handler)是返回到顶级提示或顶级浏览器,而在非交互式使用中则(有效)调用 q("no", status = 1, runLast = FALSE
)。默认处理程序将错误消息存储在缓冲区中;可以通过 geterrmessage()
检索。它还存储可以通过 traceback()
检索的调用堆栈跟踪。
错误将被截断为 getOption("warning.length")
字符,默认 1000。
如果提供了条件对象,它应该是唯一的参数,其他参数将被忽略,并带有警告。
值
geterrmessage
给出最后的错误消息,作为以 "\n"
结尾的字符串。
注意
每当 ...
包含 gettextf()
的结果(因为该结果已翻译)时,请使用 domain = NA
。
例子
iter <- 12
try(if(iter > 10) stop("too many iterations"))
tst1 <- function(...) stop("dummy error")
try(tst1(1:10, long, calling, expression))
tst2 <- function(...) stop("dummy error", call. = FALSE)
try(tst2(1:10, longcalling, expression, but.not.seen.in.Error))
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
warning
、 try
用于捕获错误并重试,options
用于设置错误处理程序。 stopifnot
用于有效性测试。 tryCatch
和 withCallingHandlers
可用于在执行表达式时建立自定义处理程序。
gettext
用于消息自动翻译的机制。
相关用法
- R stopifnot 确保 R 表达式的真实性
- R strsplit 分割字符向量的元素
- R strtoi 将字符串转换为整数
- R strrep 重复字符向量的元素
- R standardGeneric 形式化方法系统 – 调度 S4 方法
- R startsWith 字符串是否以另一个字符串开头或结尾?
- R strwrap 将字符串换行以设置段落格式
- R strptime 与字符之间的日期时间转换函数
- R strtrim 将字符串修剪为指定的显示宽度
- R structure 属性规范
- R seq.Date 生成规则的日期序列
- R search 给出 R 对象的搜索路径
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R substitute 替换和引用表达式
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R sequence 创建序列向量
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Stop Function Execution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。