捕获错误然后分支逻辑

2024-01-07

如何编写 R 代码,以便在发生错误情况时能够在代码中执行不同的路径?我正在使用一个容易引发错误的函数。当它遇到错误条件时,我想执行不同的函数。这是一个具体的例子:

require(SuppDists)
parms <- structure(list(gamma = -0.841109044800762, delta = 0.768672140584442, 
    xi = -0.359199299528801, lambda = 0.522761187947026, type = "SB"), .Names = c("gamma", 
"delta", "xi", "lambda", "type"))
pJohnson(.18, parms)

pJohnson 函数应该失败并出现以下错误:

 Error in pJohnson(0.18, parms) :
 Sb values out of range.

我可以使用以下方法使错误消失:

try( pJohnson(.18, parms), silent=T)

但我真正想做的是执行该函数alternativeFunction() if pJohnson(.18, parms)返回错误。

似乎是withCallingHandlers()函数应该可以帮助我,但我不知道如何捕获错误并使其运行alternativeFunction()仅在出现错误情况时。


t <- try(pJohnson(.18, parms))
if("try-error" %in% class(t)) alternativeFunction()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获错误然后分支逻辑 的相关文章

随机推荐

  • 为什么这个普通的 js 函数在 d3v3 和 d3v4 中返回不同的结果

    这是一个基于一些从令人惊叹的 d3 js v3 到 v4 的模板的 MWE 数据位于 csv 文件中 两个示例都加载相同的文件 干净 day movie1 movie2 movie3 movie4 movie5 movie6 1 20 8
  • 识别发生特定模式变化的行

    简介 背景 我需要分析 spss 数据表中的受访者数据 但我认为最好将这些数据复制到 Excel 或 Google 表格中 以进行我即将描述的特定分析 600 多名参与者被要求回答 100 个问题 每个参与者在数据中都有自己的行 他们对问题
  • 为什么我会收到“拆分包”警告?

    我正在构建一个 kar 文件 但是当我运行时mvn package我收到此错误 INFO maven bundle plugin 2 4 0 bundle default bundle common WARNING Bundle se em
  • 如何重命名物理数据库文件

    我使用 tsql 来分离数据库 如下所示 EXEC sp detach db dbname my db 然后我使用 PHP 来重命名物理文件 我能够重命名 mdf 文件 但不能重命名 ldf 文件 我什至尝试过dos命令REN但这对于 ld
  • R Shiny - 错误:没有名为“shinyjs”的包

    当我在本地运行我的应用程序时 它运行得很好 但是当我将它托管在闪亮应用程序io出现这个错误 发生了错误 应用程序无法启动 value 3L 中的错误 没有名为 shinyjs 的包 调用 本地 tryCatch gt tryCatchLis
  • 如何在巨大的 XML 文件中进行命令行 XPath 查询?

    我有一个 XML 文件集合 其中一些文件非常大 最多约 5000 万个元素节点 我在用xmllint用于验证这些文件 由于流 API 即使对于巨大的文件 它也能很好地工作 xmllint loaddtd stream valid path
  • distanceFromLocation 方法如何工作?

    我经常使用distanceFromLocation方法用于CLLocation对象来获取与其他位置的距离 枚举 CLLocations 数组 然后使用此方法将每个位置与我的参考位置进行比较 我很想知道使用的处理 内存影响distanceFr
  • Makefile 中的通配符目标

    如何压缩以下 Makefile 目标 GRAPHDIR Complex png GRAPHDIR Complex dot dot GRAPHDIR Complex dot Tpng o GRAPHDIR Complex png GRAPHD
  • Searchkick + Bloodhound + Typeahead 用于自动完成

    我正在尝试实施一个简单的自动完成功能对于单个属性 Model searchkick text start name autocomplete name 重新索引行为后Rails 控制台没问题 2 2 0 p0 002 gt Doctor s
  • Spring Boot Yarn - 传递命令行参数

    我正在尝试在 Spring Boot Yarn 应用程序中传递命令行参数 但遇到了困难 我知道我可以在 yml 文档中设置这些spring yarn appmaster launchcontext arguments但如何从命令行呢 喜欢j
  • 结合和敲除中的可见结合有什么区别?

    ko 绑定和 data bind visible sometext 绑定 两种绑定都执行相同的操作 哪一种使用效率最高 哪一种最好 虚拟元素 不能用于更改元素的样式 因为没有绑定 dom 元素 e g 当您无法添加额外元素时 对于控制流程很
  • LOGO 编程语言的 EBNF 或 BNF

    有谁知道我在哪里可以获得 BNF 或 EBNFLOGO http en wikipedia org wiki Logo 28programming language 29编程语言 BNF 语法在某些情况下可能不太有用 编写一个与现有 历史实
  • 如何将 Chrome 扩展 Api 与 Angular 结合使用?

    我正在开发一个 chrome 扩展 我有一个 background js 它会过滤 url 并从我的 api 获取数据 当条件满足时 我将从 发送一条消息background js 我想抓住它Angular component 背景 js
  • 使用 useState 存储来自 useQuery 的数据

    我正在使用 React hooks 来获取 GraphQL 数据react apollo并存储本地状态 const userData setUserData useState const loading error data useQuer
  • 如何在 Sass 字符串插值中使用单个反斜杠

    我想用一个生成这个CSSUnicode字符代码 foo before content 4556 连接单个 未转义的 反斜杠 与代码 例如4556 主要条件是我不想提供已经在前面加上反斜杠的 Unicode 代码 例如 4556 但是例如从整
  • 在 Vaadin 中将组件创建为静态工厂样式(单例)

    我想创建自定义Window https vaadin com api com vaadin ui Window html使用静态工厂样式 或使用单例模式 public class MyWindow extends CustomCompone
  • 强制 C# 应用程序在具有多核处理器的 PC 中使用单核

    我在我的 C 应用程序中使用 Haptek People Putty 播放器 我在论坛上看到人们说它不能很好地与多核处理器配合使用 我的应用程序在我的 Core 2 Duo 笔记本电脑上运行良好 但当我尝试在四核台式机上运行它时 它会滞后很
  • 可变参数模板、类型推导和 std::function

    我正在尝试创建一个模板函数 可以向该函数传递具有任何类型和数量的参数的其他函数 并将其绑定到std function 我设法做到了这一点 include
  • 如何在 PHP 中从 HTML 列表中提取结构化文本?

    我有这个字符串 ul li Page 1 li li Page 2 ul li Sub Page A li li Sub Page B li li Sub Page C ul li Sub Sub Page I li ul li ul li
  • 捕获错误然后分支逻辑

    如何编写 R 代码 以便在发生错误情况时能够在代码中执行不同的路径 我正在使用一个容易引发错误的函数 当它遇到错误条件时 我想执行不同的函数 这是一个具体的例子 require SuppDists parms lt structure li