wake-up-neo.net

Unterschied zwischen System.out.println () und System.err.println ()

Was ist der Unterschied zwischen System.out.println() und System.err.println() in Java?

45
user354299

In Java System.out.println() wird aus dem von Ihnen verwendeten System heraus nach dem Standard gedruckt. Andererseits wird System.err.println() nach dem Standardfehler gedruckt.

Wenn Sie eine einfache Java Konsolenanwendung verwenden, sind beide Ausgaben gleich (die Befehlszeile oder die Konsole), aber Sie können die Streams so konfigurieren, dass zum Beispiel System.out druckt immer noch auf die Konsole, aber System.err schreibt in eine Datei.

IDEs wie Eclipse zeigen auch System.err in roter Schrift und System.out standardmäßig in schwarzer Schrift.

62
Carlos G.

System.out ist "Standardausgabe" (stdout) und System.err ist "Fehlerausgabe" (stderr). Zusammen mit System.in (stdin) sind dies die drei Standard-E/A-Streams im Unix-Modell. Die meisten modernen Programmierumgebungen (C, Perl usw.) unterstützen dieses Modell.

Der Standardausgabestream wird zum Drucken der Ausgabe von "normalen Vorgängen" des Programms verwendet, während der Fehlerstream für "Fehlermeldungen" bestimmt ist. Diese müssen separat sein - obwohl sie in den meisten Fällen auf derselben Konsole angezeigt werden.

Angenommen, Sie haben ein einfaches Programm, in das Sie eine Telefonnummer eingeben und die Person mit dieser Nummer ausdrucken. Wenn Sie eine ungültige Nummer eingeben, sollte das Programm Sie über diesen Fehler informieren, dies sollte jedoch nicht geschehen. als Antwort: Wenn Sie "999-ABC-4567" eingeben und das Programm einen Fehler ausgibt Meldung "Keine gültige Nummer", das heißt nicht, dass es eine Person mit dem Namen "Keine gültige Nummer" gibt, deren Nummer 999-ABC-4567 lautet. Es wird also nichts an die Standardausgabe ausgegeben, und die Meldung "Keine gültige Nummer" wird an die Fehlerausgabe ausgegeben.

27
Paul Richter

Diese Befehle verwenden unterschiedliche Ausgabestreams. Standardmäßig werden beide Meldungen auf der Konsole gedruckt, es ist jedoch beispielsweise möglich, eine oder beide Meldungen in eine Datei umzuleiten.

Java MyApp 2>errors.txt

Dadurch wird System.err In die Datei errors.txt Umgeleitet.

4

Der Hauptzweck von System.out Ist die Ausgabe der Standardausgabe.

Der Hauptzweck von System.err Ist die Angabe von Standardfehlern.


Schau dir diese ...... an

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

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

2
onurbaysan

diese Antwort hilft dir höchstwahrscheinlich, es ist so einfach System.err und System.out beide sind gleich beide sind definiert in System Klasse als Referenzvariable von PrintStream Klasse als public final static PrintStream out = null; und public final static PrintStream err = null;

bedeutet, beide sind ref. Variable der Klasse PrintStream. normalerweise System.err wird zum Drucken von Fehlermeldungen verwendet, die die Redefähigkeit für den Programmierer erhöhen.

Ein kleiner Unterschied besteht in beiden Fällen, wenn wir mit dem Operator Redirection arbeiten.

1
ATIQ UR REHMAN

System.out.println("wassup"); bezieht sich auf den Fall, dass Sie ein bestimmtes Ergebnis in Bezug auf die richtige Eingabe des Benutzers ausgeben müssen, während System.err.println("duh, that's wrong); eine Referenz ist, um zu zeigen, dass die Eingabe falsch ist oder eine andere vorhanden ist Error.

Die meisten IDEs zeigen dies in roter Farbe (System.err.print).

0
Arth Tyagi