Sobes.tech
Middle

Mit használsz, amikor kivételt dobsz, hogy ne veszítsd el a stack trace-t?

sobes.tech MI

Válasz az MI-től

Чтобы не потерять stack trace при пробросе исключения в Java, нужно использовать конструктор исключения с параметром cause или метод initCause, либо просто пробросить исходное исключение без создания нового.

Например:

try {
    // код, который может выбросить исключение
} catch (IOException e) {
    throw new RuntimeException("Ошибка при обработке", e); // передаём исходное исключение как cause
}

Так стек вызовов сохраняется и доступен для отладки.