warum keine fehlermeldungen auf der console

Status
Nicht offen für weitere Antworten.

noisebreath

Bekanntes Mitglied
was ich ja echt doof finde ist dass er mir keine fehler auf der console wirft wenn mein plugin eins wirft. kann mir jemand erklären warum das so ist und gibt es doch eine möglichkeit, dass ich einstellen könnte, dass er sie mir anzeigt? Oder muss ich das schritt für schritt mit dem debugger durchgehen?

lg

noise
 
M

maki

Gast
Vermutung: Solange du nicht in der Lage bist dein Problem zu so beschreiben, dass auch andere dein Problem verstehen, wirst du hier keine Lösung bekommen.
 

HoaX

Top Contributor
Eclipse hat mit der Ausgabe nix zu tun, wenn im Code die Exception nirgends auf Konsole ausgegeben wird, dann ist das halt so. Es liegt an dir das zu ändern ...
 

noisebreath

Bekanntes Mitglied
oki wer auch immer dafür verantwortlich ist.. in einem normalen Java Project wirft er mir z.b. eine NullpointerException wenn mein plugin eine werfen sollte gibt er mir nichts aus. da muss es doch einen unterschied/grund für geben..
 
V

Vayu

Gast
Eclipse handled nunmal nicht gefangene Exception mit seinem eigenen ErrorHandler. Diese werden ins Eclipse ErrorLog weggeloggt und eben nicht auf Konsole.
Wenn du willst dass solche Exceptions auf Konsole ausgegeben werden, musst du Sie selber fangen und ausgeben.
Ansonsten schau ins ErrorLog, dort kannst du dir auch den StackTrace dazu anschauen, dafür ist es da.
 

dzim

Top Contributor
Da hat damals google sehr geholfen!
Du die Eclipse-eigene Konsole auch in deinen Anwendungen verwenden und eigene Unterkonsolen (werden über den Namen der Konsole referenziert) erstellen.

Ich hab da irgendwas gefunden, das ein bisschen ausgebaut, aber im Prinzip ist es folgender Ablauf:

Code:
		// erst mal Konsolen-Plugin holen
		// versuchen eine bestehende Konsole zu finden, oder neu anzulegen
		// systemConsoleName ist die Variable
		ConsolePlugin plugin = ConsolePlugin.getDefault();

		IConsoleManager conMan = plugin.getConsoleManager();

		IConsole[] existing = conMan.getConsoles();
		for (int i = 0; i < existing.length; i++)
			if (systemConsoleName.equals(existing[i].getName()))
				return (MessageConsole) existing[i];

		// no console found, so create a new one
		MessageConsole systemConsole = new MessageConsole(systemConsoleName,
				null);
		conMan.addConsoles(new IConsole[] { systemConsole });

		// dann erstellst du die MessageStreams, die du an PrintStreams anbindest
		defaultMessageOutputStream = systemConsole.newMessageStream();
		defaultMessagePrintStream = new PrintStream(defaultMessageOutputStream);

		warningMessageOutputStream = systemConsole.newMessageStream();
		warningMessageOutputStream.setColor(new Color(Display.getCurrent(), 0,
				0, 255));
		warningMessagePrintStream = new PrintStream(warningMessageOutputStream);

		errorMessageOutputStream = systemConsole.newMessageStream();
		errorMessageOutputStream.setColor(new Color(Display.getCurrent(), 255,
				0, 0));
		errorMessagePrintStream = new PrintStream(errorMessageOutputStream);

		//um dann schließlich die printStreams an sysout und syserr zu hängen
		System.setOut(defaultMessagePrintStream);
		System.setErr(errorMessagePrintStream);

		//lässt du dir dann noch die Konsole anzeigen
		// z.B. mit
		try {
			IWorkbenchPage page = PlatformUI.getWorkbench()
					.getActiveWorkbenchWindow().getActivePage();
			String id = IConsoleConstants.ID_CONSOLE_VIEW;
			IConsoleView view = (IConsoleView) page.showView(id);
			view.display(systemConsole);
		} catch (PartInitException e) {
			System.err.println(e.getMessage());
			// e.printStackTrace();
		}
		//dann werden alle System.out.print* und auch err auf dieser Konsole angezeigt

Savvy?

Nächstes mal lustig googlen und dann findest du das schon ;-)
 
G

Gast2

Gast
Es gibt ein Paramter damit deine Fehlermeldungen auf der Konsole kommen. Ich glaub in der Argumenten -consoleLog mitgeben
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben