Когда внешнее исключение (SQLNestedException) переносит внутреннее исключение (ClassNotFoundError), они находятся в одном потоке и, таким образом, совместно используют общую базу для своей трассировки стека.
(еще 23 ...) показывает, где начинается этот общий стек для внутреннего исключения, которое также является местом, где было выброшено внешнее исключение. Поэтому всякий раз, когда вы видите (еще XX), просто посмотрите на исключение выше, чтобы увидеть остальную часть трассировки стека.
Если вы хотите программно распечатать трассировку стека без многоточия для общих трасс, то вы можете использовать Throwable.getStackTrace () и распечатать все элементы самостоятельно.