gpt4 book ai didi

java - 替代 System.out 在基于控制台的应用程序中显示错误消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:48 25 4
gpt4 key购买 nike

我正在开发一个基于控制台的应用程序。

使用 System.out.println() 在控制台上显示错误消息是个好主意吗?我在我的类(class)中使用了很多这些来处理错误。

我的类(class)看起来像这样:

public void validatePlayerSelection(String playerSelection, List<String> listOfIndex) {
try {
if (playerSelection == null || playerSelection.isEmpty()) {
throw new NullPointerException();
} else if (Integer.parseInt(playerSelection) < 11
|| Integer.parseInt(playerSelection) > ((size * 10) + size)) {
System.out.println("The input you have entered cannot be found on the board");
} else if (listOfIndex.contains(playerSelection)) {
System.out.println("Cell already taken. Please select a different move.");
} else {
flag = false;
}

} catch (NumberFormatException e) {
System.out.println("The input must be a number on the board");
}
}

System.out.println 的替代品是什么?另外,这是编写代码的有效方法吗?

最佳答案

没有。您将控制台用于一些小事情,例如:实验代码。

一旦我们谈论要在现实世界中使用的任何,您就会注意使用某种 Java 日志框架。

例如log4j ,或使用内置的 logging设施。

说真的,即使您只是创建自己的小型命令行帮助工具:学习如何使用日志记录框架,并使用它。例如,您希望能够根据某种日志记录级别 发出消息(想想:冗长、信息、警告、错误)。如果您不使用现有的框架,您将不可避免地在某个时候开始创建您的自己的框架。毫无理由地(除了学习经验)重复所有可能犯的错误。

同时了解:日志记录与“用户交互”不同。您的示例所做的所有事情都是关于从用户那里获取信息(或给他一些回应/反馈)。对于 that,您使用最合适的路径(可能是 system.out)。但是对于您的应用程序可能想要“记录”的任何“其他”内容 - 您最好寻找替代方案而不是 system.out resp。系统错误。

关于java - 替代 System.out 在基于控制台的应用程序中显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794441/

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