gpt4 book ai didi

excel - 通过父子程序的错误处理取消子子程序

转载 作者:行者123 更新时间:2023-12-03 08:21:12 27 4
gpt4 key购买 nike

背景:

我正在尝试计划如何使任务自动化,并期待使用来自另一个子例程的多个私有(private)子例程或函数。我将使用亲子语言来尝试保持直截了当。

父子程序是调用每个子程序的子程序。

将调用子子程序(children)以执行它们的代码。

我正在尝试确定是否可以在父级中进行错误处理以退出子级并移至下一个子级。

尽管我将使用的示例代码是一个非常简单的示例,只需将 i 加 1,计划的代码将更多地涉及 resume next还不够(不是忽略错误是“好”做法)。

问题:

如果有一个现有的 on error,我没有运气搜索退出当前 child 并移动到下一个 child ,我有我的on error仅在父行中。

问题:

有没有办法根据父子程序中的错误处理语句退出子当前子程序?或者,我应该坚持对每个 child 进行错误处理吗?

问题代码:

给出一个粗略的例子来说明我的想法;这不是工作代码。

Option Explicit
Public i As Long

Sub fdsa()
on error ' exit called subroutine
a
s
d
f
MsgBox i
End Sub

Private Sub a()
i = i + 1
End Sub

Private Sub s()
i = i + 1
End Sub

Private Sub d()
i = i + 1 / 0
End Sub

Private Sub f()
i = i + 1
End Sub

父级完成后,消息框将输出“3”。

最佳答案

如果子例程没有错误处理程序,则任何错误都将传递回父例程,此时您可以继续处理下一个错误。您所需要的只是在这里的错误恢复:

Sub fdsa()
on error resume next
a
s
d
f
MsgBox i
End Sub

关于excel - 通过父子程序的错误处理取消子子程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56176165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com