我有一个对象的类,如果用户试图为其构造函数提供一个负数,我想输出一个警告,告诉他们他们提供了一个无效号码,形式为获取当前行号码Java
System.out.println("ERROR ON LINE " + Thread.currentThread().getStackTrace()[2].getLineNumber() + ": You have provided an invalid number.\nSetting to default.");
编辑:我将值设置为系统中的默认值,我不希望程序终止。
我真正想知道的是我如何自动找到[2]。
为什么你想告诉最终用户一个源代码行号? – bmargulies
@bmargulies它也在调试。我通常使用行号作为错误号码。这对我来说是实践的东西,所以我亲自跟踪问题。 –
要进行调试,请使用(例如)log4j,并让它为您记录行号。 – bmargulies