# NotSerializableException



## POR (7. Jul 2016)

Hallo,
aktuell arbeite ich an einer Client-Server Anwendung, bei der über ObjectStreams verschiedene Objekte verschickt werden (Strings, int, Listen, etc).
Jedoch erhalte ich immer die Exception

```
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.io.ObjectInputStream
```
Den kompletten relevanten Code zu posten, würde vermutlich den Rahmen sprengen und der Übersichtlichkeit schaden.
Ich arbeite mit folgenden Attributen.

```
private ObjectOutputStream out = null;
    private ObjectInputStream in = null;
    private Socket client;
    private ServerSocket server;
```
 
Füge ich zB ein transient vor den Streams ein, so erhalte ich die selbe Exception nur mit java.net.Socket.
Füge ich dann ein transient vor das Socket Attribut, erhalte ich die Exception mit java.net.ServerSocket.
Natürlich habe ich bei sämtlichen Klassen, die mit der Kommunikation zutun haben, das Interface Serializable implementiert.
Ich habe aber mal gelesen, dass Threads, io-Klassen und net-Klassen nicht serialisierbar sind...
Kann man ganz allgemein sagen, was Ursache dieses Fehlers sein kann?
LG POR


----------



## Jardcore (7. Jul 2016)

Stacktrace wäre gut, und vielleicht trotzdem ein wenig mehr Quellcode.


----------



## mrBrown (7. Jul 2016)

Die Ursache wird sein, dass du deine Klasse, die die Streams etc enthält, versuchst zu senden, was wie du richtig sagst nicht möglich ist.
Erster Schritt wäre, Logik und Model zu trennen.


----------



## Thallius (7. Jul 2016)

Ähm wieder serialisiert man denn einen Thread? Überhaupt serialisiert du keine Klasse sondern deren Attribute.


----------

