Quelques conseils :

Evites les while(true)
Evites de catcher toutes les exceptions sans les remonter
Evites System.out
Ajoutes un nouveau type de listener pour gérer les erreurs
Evites la...