Ciao Andrea, ho fatto una prova al volo con un client stupido:
codice:
public static void main(String[] args) throws UnknownHostException, IOException
{
Socket socket = new Socket("localhost", 9000);
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
System.out.println("CLIENT CONNECTED");
}
Come vedi il client si connette e poi muore.
Ovviamente sul server quando tenta di scrivere sullo stream viene sollevata una IOException.
P.S
Non ammazzare mai le eccezioni nè con catch vuoti ne con System.out.println(e.getMessage()). Ma fatti stampare sempre tutto lo stackTrace