SuperAPI AI 工具集

rlang-conditions

通用与其它

查看项目

更新于 10-15 23:42

技能介绍

用途:在开发 R 包时规范处理错误、警告与条件,替代 base R 的 stop()、warning()、message()。

主要能力:用 cli_abort()、cli_warn()、cli_inform() 抛出格式化条件消息;用命名字符向量写多段消息,项目符号包括 "x"(错误)、"!"(警告)、"i"(信息)、"v"(成功)、"*"、">";支持内联标记如 {.arg x}、{.file {path}}、{.val {x}}、{.cls {class(x)}}、{.code na.rm = TRUE}、{.fn mypackage::helper} 与复数化 {?s}、{?y/ies}。

用法要点:错误辅助函数应传 call = caller_env(),使错误显示用户函数而非辅助函数;输入检查器用 arg = caller_arg(x) 动态获取参数名,并传 call = caller_env();rlang 提供 check_required() 检查必填参数。错误链式用 try_fetch() 捕获并配合 parent = cnd 添加上下文,parent = NA 可完全替换底层错误;相比 tryCatch() 能保留完整 backtrace、支持 options(error = recover) 并捕获栈溢出错误(R >= 4.2.0)。测试用 testthat 的 expect_snapshot(error = TRUE, ...) 验证错误输出,用 expect_error(..., class = "...") 验证错误类;依赖 rlang >= 1.0.0 与 testthat >= 3.1.2 可启用增强错误显示。

适用场景:R 包开发中的条件抛出、输入校验、错误链式与错误信息测试。

限制:资料未提供安装命令、版本兼容细节之外的平台或收费信息;高级错误链式与条件外观定制见其 references 文件。