E' probabile che l'errore che non riesci a catturare non sia una Exception, ma piuttosto un Error. Esse sono le due classi base per la segnalazione di errori/eccezioni in Java.

Le eccezioni sono degli inconvenienti dovuti al codice che ci stà sotto: tentativi di conversione di stringhe in numeri impossibili, errori di sintassi in istruzioni SQL con i DB...

Gli errori sono cose più serie: sono malfunzionamenti della JVM, come thread che muoiono o cose simili. Generalmente essi non sono rimediabili.

Se a te non interessa distinguere fra eccezioni ed errori, allora puoi semplicemente dire al blocco catch di catturare qualsiasi oggetto Throwable. Eccezioni ed Errori, infatti, discendono entrambi da questa classe.

Esempio:
codice:
try {
   ...
} catch (Throwable t) {
   t.printStackTrace();
}
Ciao.