различие между System.out.println () и System.err.println ()

Между чем различие System.out.println() и System.err.println() в Java?

46
задан user354299 16 March 2019 в 08:03
поделиться

4 ответа

Основное назначение System.out - выдача стандартного вывода.

Основное назначение System.err - выдача стандартной ошибки.


Посмотрите на эти

http://www.devx.com/tips/Tip/14698

http://wiki.eclipse.org/FAQ_Where_does_System.out_and_System.err_output_go%3F

2
ответ дан 26 November 2019 в 20:21
поделиться

В Java System.out.println () будет печатать в соответствии со стандартом той системы, которую вы используете. С другой стороны, System.err.println () распечатает стандартную ошибку.

Если вы используете простое консольное приложение Java, оба выхода будут одинаковыми (командная строка или консоль), но вы можете перенастроить потоки так, чтобы, например, System.out по-прежнему печатал в консоль, но System.err записывает в файл.

Кроме того, IDE, такие как Eclipse, по умолчанию показывают System.err красным текстом и System.out черным текстом.

62
ответ дан 26 November 2019 в 20:21
поделиться

Эти команды используют разные потоки вывода. По умолчанию оба сообщения будут напечатаны на консоли, но можно, например, перенаправить одно или оба сообщения в файл.

java MyApp 2>errors.txt

Это перенаправит System.err в файл errors.txt .

4
ответ дан 26 November 2019 в 20:21
поделиться

System.out - это «стандартный вывод» (stdout), а System.err - «вывод ошибок» (stderr). Наряду с System.in (stdin) это три стандартных потока ввода-вывода в модели Unix. Большинство современных сред программирования (C, Perl и т. Д.) Поддерживают эту модель.

Стандартный поток вывода используется для вывода на печать вывода «обычных операций» программы, а поток ошибок предназначен для «сообщений об ошибках». Они должны быть отдельными, хотя в большинстве случаев они появляются на одной консоли.

Предположим, у вас есть простая программа, в которой вы вводите номер телефона, а она распечатывает человека, у которого есть этот номер. Если вы введете неверный номер, программа должна сообщить вам об этой ошибке, но не должна этого делать в качестве ответа : Если вы введете «999-ABC-4567» и программа распечатает сообщение об ошибке «Недействительный номер» не означает, что есть человек с именем «Недействительный номер» с номером 999-ABC-4567. Таким образом, он ничего не выводит на стандартный вывод, а сообщение «Недопустимое число» выводится на вывод ошибки.

29
ответ дан 26 November 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: