- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我想运行一些不错的 VBA 代码,最好将其分解为四个不错的小顺序函数。
Call Init()
Call FirstStep()
Call SecondStep()
Call CleanUp()
但是,如果前三个中的一个因错误或用户取消而失败,那么我想整齐地退出并运行 CleanUp
。
我从...开始
If Init() Then
If FirstStep() Then
If SecondStep() Then
End If
End If
End If
Call CleanUp
但这很丑陋。
接下来是...
Select Case vbCancel
Case Init()
Case FirstStep()
Case SecondStep()
End Select
Call CleanUp
这是一个改进,但我仍然想知道是否有更好的方法?我知道 VBA 的设计并不是为了结构良好,但尽管如此,我还是想尝试一下。
最佳答案
如果失败是由于运行时错误造成的,@AlexK 的答案是标准答案。
但在某些情况下我们希望:
1-运行正常的操作和检查序列,逻辑是这样的,当其中一个操作通过返回 bool 值告诉我们时,我们必须在某个地方停止
2-避免设置标准错误处理(在某些情况下我们不希望这样)
3-避免大量嵌套的 If(如你所说太丑陋)
Select Case
解决方案满足了这些要求,但这里还有您可能更喜欢的另一种解决方案(意图更清晰):
Do
If Not FirstStep Then Exit Do
If Not SecondStep Then Exit Do
If Not ThirdStep Then Exit Do
If Not FourthStep Then Exit Do
' ...
Loop Until True
Cleanup
关于vba - 如何最好地构建 Excel VBA 代码以实现维护、清晰度和错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43678779/
我正在尝试将一个节点添加到列表的末尾,这就是我想到的。我只是想知道我是否设置 tail=head 是否与 tail=add 相同?或者如果我有 tail=head.next 如果它与 tail=add
我有一个 android 应用程序,我在其中使用 android 相机拍照。经过一番努力后,我设法在我想要的地方和我想要的方式拍摄照片。最后的问题是质量图片。 当我的预览开始时,一切看起来都非常清晰和
即使表中还没有行,我也试图占用所有垂直空间。 clr-datagrid 是否可以自定义?似乎我必须手动覆盖 .datagrid-host 的 flexbox 属性和 .datagrid-overlay
我正在尝试让 VMware Clarity UI sidenav 正常工作,并且会喜欢一个可靠的例子。我正在使用 clear-seed 项目,并且在 app.component.html 内部我有他们
因此,我有一个无法更改的 SQL 架构,并且我正在尝试使用 GAS 脚本将数据拉出并放入 Google 表格中。它返回 0 个结果。如果我删除最后一个 JOIN 和最后一行 SELECT 列,我会得到
想看看是否有人可以帮我解决这个问题?从 XAML 元素到 ViewModel(ex:1) 中的值,或者从 CodeBehind(ex:2) 返回到元素,如 HostName.Text,DataBind
前言 需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示。随便看一下,大部分网站基本都是将原图等比缩放来生成缩略图。但完美主义者
我有一个基本的清晰 Angular 模板,可以在 sidenav 中进行搜索。当我在移动设备上单击 sidenav 中的查找按钮时,sidenav 不会消失。如何使用 Angular 关闭 siden
我正在尝试跟踪对树节点数据源所做的更改。每个节点都有一个 selected 属性,它反射(reflect)节点选择状态,每次选择一个节点时,我需要将选择发送到另一个组件,该组件将根据该选择构建另一棵树
右边距的 css 规则似乎在具有清晰度设计系统的 Angular 8 中无效。请参阅下面的详细信息。 我有一个带有清晰设计系统的 Angular 8 元素。我已经为它设置了标题和垂直导航,如下面的屏幕
我是一名优秀的程序员,十分优秀!