课程章节介绍
好,我们来看看Switch语句里的when else块。你可以把它理解成一个“兜底”的选项,就像告诉程序:如果前面列出的所有情况都不匹配,就执行这里的代码。
Salesforce特别建议你在处理枚举类型的时候,一定要加上when else。为什么呢?因为枚举的值可能会变。比如,你可能引用了托管包里定义的枚举,如果将来这个包升级了,里面新增了几个枚举值,而你的Switch里没有对应这些新值的when分支,代码就不知道该怎么办了,可能会抛出异常,结果就不符合预期了。
而如果你提前准备了一个when else块,就能把所有这些意外的新值都接住,让程序继续安全地运行下去,至少不会因为没处理到而崩溃。
还有一点要注意:如果你要写when else块,它必须是Switch语句里的最后一块,不能写在前面的when之间,就像打扫战场的最后一步一样。
这就是when else块的作用,简单说就是“其他所有情况”的保险。
关键词
Apex
Salesforce
Developer Guide