У меня есть класс для объекта, и если пользователь пытается предоставить отрицательное число его конструктору, я хочу вывести предупреждение, в котором сообщается, что они предоставили недопустимое число в формеПолучить текущий номер строки Java
System.out.println("ERROR ON LINE " + Thread.currentThread().getStackTrace()[2].getLineNumber() + ": You have provided an invalid number.\nSetting to default.");
EDIT: Я установил значения в значения по умолчанию в системе, я не хочу, чтобы программа завершалась.
Что я действительно хочу знать, так это то, как я автоматически выбираю [2].
Почему вы хотите сообщить конечному пользователю номер строки источника? – bmargulies
@bmargulies Это также отладка. Обычно я использую номера строк как номера ошибок. Это практика для меня, поэтому я лично отслеживаю проблемы. –
Для отладки используйте (например,) log4j и позвольте ему зарегистрировать номера строк для вас. – bmargulies