gpt4 book ai didi

java - 可以退出代码还是应该终止 main ?

转载 作者:行者123 更新时间:2023-12-02 14:06:19 25 4
gpt4 key购买 nike

我是异常处理的新手,如果发生意外情况,我不知道在哪里停止我的代码。

我有一个处理命令行参数的程序。我将参数和值存储在 HashMap 中。我有一个名为 getAlgortihm 的方法,它应该从 map 中获取算法。例如:arguments: -alg shift,该方法返回shift。值转移是必要的,因为另一种方法使用它来决定下一步做什么。

public String getAlgorithm() {
return argumentMap.get("-alg");
}

如果未给出 -alg 是否可以退出代码(参数:-algWrong shift)?

public String getAlgorithm() {
if (argumentMap.get("-alg") == null){
System.out.println("-alg is not given");
System.exit(1);
}
return argumentMap.get("-alg");
}

或者我应该抛出异常并在调用方法的地方处理它?<​​/p>

public String getAlgorithm() {
if (argumentMap.get("-alg") == null)
throw new NullPointerException("-alg is not given");
return argumentMap.get("-alg");
}

最佳答案

执行函数退出是一种糟糕的编程习惯。这也使得测试这样的功能变得不可能。

在这种情况下,如果函数中出现错误,则应该抛出异常,然后调用代码可以根据需要进行处理。这也使得代码可测试,因为您的测试可以调用并期望得到异常,这是错误中的正确行为。

关于java - 可以退出代码还是应该终止 main ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59444540/

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