Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Откуда берется номер строки исключения в Java?

#java #классы #исключения #jvm


К примеру, наш исходный код выполняет деление на ноль в строке 8.
Если собрать jar-файл из этого кода и запустить - ArithmeticException опять скажет
нам про строку 8 в нашем исходнике. 

Получается, что в .class-файлах сохраняется даже форматирование исходника (java)?
Или тут какой-то другой механизм?
    


Ответы

Ответ 1



При компиляции по умолчанию добавляется номер строки в получаемый byte-код. Можно настроить объем debug-информации, попадаемый в генерируемые файлы, с помощью параметра компилятора -g: -g:none Без отладочной информации. -g:lines Только номера строк. -g:lines,source Номера строк и информация об исходном файле. -g:lines,source,vars Номера строк, информация об исходном файле и данные о локальных переменных. -g То же самое, что и -g:lines,source,vars Значение по умолчанию: -g:lines,source.

Комментариев нет:

Отправить комментарий