编程语言
首页 > 编程语言> > java-System.out的替代品,用于在基于控制台的应用程序中显示错误消息

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

作者:互联网

我正在开发基于控制台的应用程序.

使用System.out.println()在控制台上显示错误消息是个好主意吗?我在课堂上使用了大量此类错误处理方法.

我的课看起来像这样:

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工具.

认真地说,即使只是创建自己的命令行辅助工具,也要:学习如何使用日志记录框架,并使用它.例如,您希望能够根据某种日志记录级别发出消息(例如:详细,信息,警告,错误).如果不使用现有框架,则不可避免地会在某个时候开始创建自己的框架.重做所有您在执行过程中可能会犯的错误,这是毫无道理的(除了学习经验之外).

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

标签:console-application,system-out,java
来源: https://codeday.me/bug/20191025/1927088.html