Wie kann man die Ausgabe einer überlangen Exception verhindern?

Beim Prüfen und Debuggen von Quelltexten stören oft überlange Error- oder Exception-Ausgaben und verhindern aufgrund der begrenzten Puffergröße der Konsole ein Auslesen von Werten mittels System.out().

Die Lösung dieses Problems gestaltet sich sehr einfach: Es gilt die geworfenen Errors und Exceptions abzufangen und die Ausgabe des StackTraces zu verhindern.
Hierzu wird der zu prüfende Code-Teil provisorisch in einen try-catch-Block eingeschlossen. Da manchmal nicht so recht klar ist welche Exception geworfen werden kann, werden alle Fehler und Ausnahmen dadurch abgefangen, dass der leeren catch-Anweisung eine Instanz der Klasse Throwable übergeben wird. Sie ist die Elternklasse aller Exceptions und Errors.

public class NoTrace {

    public static void noTrace(int i) {        
        try {
            if (i == 10) {
                System.out.println(i);
                noTrace(++i);
            }

            if (i == 11) {
                System.out.println(i);
                noTrace(--i);
            }
        } catch (Throwable t) {
            System.exit(0);
        }
    }

    public static void main(String[] args) {
        noTrace(10);
    }
}

Im gezeigten Beispiel wird eine Methode noTrace() deklariert, in der ein int-Parameter wechselweise dekrementiert und inkrementiert wird und rekursiv der aufgerufenen Methode erneut übergeben wird. Das Ergebnis ist ein StackOverflowError.
Die Routine läuft innnerhalb des o.a. try-catch-Blocks ab. Schlägt der Versuch fehl, wird das Programm beendet und eventuelle Ausgaben sind der Konsole zu entnehmen. Ein Endloslauf wird auf diese Weise verhindert.