catch Exception fängt nicht alles! Was denn dann?

Lastlord

Mitglied
Hi, ich hab eine Exception mit der Ausgabe:
Code:
java.io.EOFException
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at Inet.TSocket.readMessage(TSocket.java:99)
	at Inet.TSocket.run(TSocket.java:68)
	at Inet.ClientSocket.run(ClientSocket.java:68)
	at java.lang.Thread.run(Unknown Source)

Das komische ist, dass die Exception bei
Code:
...
at Inet.TSocket.readMessage(TSocket.java:99)
...
gecatcht werden müsste , weil der Code dort so aussieht:

Java:
protected final Message readMessage() throws IOException,
			ClassNotFoundException {
		out.reset();
		try {
			return (Message) in.readObject();   // Zeile 99
		} catch (Exception e) {                
			e.printStackTrace();
			filterException(e);
		}
		return null;
	}

Kann mir einer sagen, warum
Java:
 catch (Exception e)

die EOFException durchlässt?
 
Kannst du mir bitte sagen, wo das Problem liegt? Du gibst ja den StackTrace aus, und er wird ausgegeben. So wie du macht man das btw. nicht. Man speichert den Wert in ne Variable zwischen, und gibt ihm am Ende zurück. Wenn gecatcht wird ist der Rückgabewert sowieso 'null', falls er den Thread weiter ausführt.
 
danke für deine Antwort Kai008.

:-( oO Mist, e.printStackTrace() macht ja die Ausgabe...was heist, dass alle Exceptions gecatcht sind... Und der Stacktrace reicht natürlich bis zu Thread.run und nicht nur bis zu der Stelle, wo die Exception gecatched wird.
Peinlich, peinlich (Ich sollte spät abends nichts mehr posten).:-:)-(
 

Neue Beiträge

Zurück