首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确处理重设夏尔玻璃错误

正确处理重设夏尔玻璃错误
EN

Stack Overflow用户
提问于 2022-04-18 22:46:37
回答 1查看 50关注 0票数 0

我有一个项目,其中有许多实例

代码语言:javascript
复制
    DoCmd.Hourglass -1
        <various code>
    DoCmd.Hourglass 0
    <other code>

一旦出现错误,关闭沙漏的线就会被跳过。用户感到困惑,等待应用程序再次准备好。

通常,我会在try..finally中处理这件事

代码语言:javascript
复制
 try {
    DoCmd.Hourglass -1
        <various code>
 } finally {
    DoCmd.Hourglass 0
 }

但在VBA中,这不是一种选择。

我认为搜索和找到正确的方法很简单,但我找到的每一个样本都采用了上述天真的方法。

诀窍是我不想影响任何现有的程序流,这意味着我需要重新抛出错误。

当然,“扔”也不存在。

但这也意味着我不需要继续错误发生的地方。

这是我目前最好的猜测

代码语言:javascript
复制
On Error GoTo ErrHandler
    DoCmd.Hourglass -1
        <various code>
    DoCmd.Hourglass 0
    <other code>
Exit Function
ErrHandler:
    DoCmd.Hourglass 0
    Err.Raise Err.Number
End Function        

但我有信心这是最好的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-22 17:04:05

看来这个问题在这里得到了回答:

https://stackoverflow.com/a/64478691/1513027

代码语言:javascript
复制
err.raise Err.Number

This is the correct method, and no, you don't have to re-state all the err properties. The values are retained.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71917806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档