gpt4 book ai didi

Java - 无效的枚举值未落入 switch block 中的默认值

转载 作者:行者123 更新时间:2023-12-02 11:29:29 24 4
gpt4 key购买 nike

我在 config.properties 中输入了无效值:

# Browser: CHROME, CHROME_NOHEAD, FF32, FF32_NOHEAD, FF64, FF64_NOHEAD
# EDGE, IE32, IE64
browser=oPerA

我使用默认子句设置了开关:

public class ServiceHook {
public enum Browser {
CHROME, CHROME_NOHEAD, FF32, FF32_NOHEAD, FF64, FF64_NOHEAD, EDGE, IE32, IE64
}

public void setUp() throws Throwable {
String browserConfig = Configuration.readKey("browser"); // Reads the String from the config file
Browser browser = Browser.valueOf(browserConfig.toUpperCase());

switch (browser) {
case CHROME:
// Do something for each case
break;
case CHROME_NOHEAD: break;
case FF32: break;
case FF32_NOHEAD: break;
case FF64: break;
case FF64_NOHEAD: break;
case EDGE: break;
case IE32: break;
case IE64: break;
default:
// Do something for unsupported browser
break;
}
}
}

但是,我遇到了以下异常:

java.lang.IllegalArgumentException: No enum constant jcucumberng.steps.defs.ServiceHook.Browser.OPERA

有什么建议为什么它不触发默认子句吗?

最佳答案

代码还没有达到那么远。

Browser browser = Browser.valueOf(browserConfig.toUpperCase()); 抛出异常。您必须将其放入 try-catch block 中才能处理无效值。

关于Java - 无效的枚举值未落入 switch block 中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382488/

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