分享此页面

# 定义 Select Case 和 If-Then-Else 语句的默认行为

如果没有为 Select Case 或 If-Then-Else 语句定义默认操作，可能发生不可预知的结果。

## 建议

为避免不可预知的结果，使用 If-Then-Else 语句的 Select Case 时，应始终定义默认行为。

以下是定义现有 Select Case 和 If-Then-Else 语句未涵盖情形的默认行为的错误与正确方式。

不正确的用法

该子例程的编写者旨在让 `BG_USER_01` 字段仅在该缺陷的状态为“Open”、“New”或“Reopen”时才可见。但是，如果“Closed”或“Fixed”缺陷的 IsVisible 属性在此子例程的实例之前设置为 True，则该“Closed”或“Fixed”缺陷仍将可见。这是因为没有专门为“Closed”或“Fixed”缺陷定义 case 语句。

示例:

    Sub Bug_FieldChange(FieldName)
        If FieldName="BG_STATUS" Then
            Select Case Bug_Fields(FieldName).Value
                Case "Open", "New", "Reopen" _
    	     Bug_Fields("BG_USER_01").IsVisible = True
            End Select
        End If
    End Sub

正确的用法

此子例程能有效处理所有可能情况。

示例:

    Sub Bug_FieldChange(FieldName)
        If FieldName="BG_STATUS" Then
            Select Case Bug_Fields(FieldName).Value
                Case "Open", "New", "Reopen"
                    Bug_Fields("BG_USER_01").IsVisible = True
                Case Else
                    Bug_Fields("BG_USER_01").IsVisible = False
            End Select
        End If
    End Sub

https://admhelp.microfocus.com ALM 8942
改进搜索结果的提示... ALM 帮助中心 ALM 帮助中心 ALM 帮助 17.0 全部查看本地帮助中心查看联机帮助中心后退在浏览器历史记录中后退前进在浏览器历史记录中前进删除突出显示的搜索项下一个主题转到下一个主题上一个主题转到上一个主题打印当前主题版本: