I have a exception class where in which i want to pass the current line number
line 70:
line 71: throw new
LightException(FailureType.NOT_FOUND,this.getClass().getName(),linenum);
Is there a way to get linenum as 72 here without hardcoding it? Does eclipse offer anything that would get replaced into hardcoded line numbers at compile time.So that i don't have to put ugly hard-code line numbers
class LightException(FailureType type,String className,int lineNum) extends RuntimeException
{
LightException(FailureType type,String className,int lineNum){..
//
}
@Override
@Override public Throwable fillInStackTrace() {
return this;
}
}
I do not need to log the entire stack trace and unnecessarily filling the stack trace for all exceptions.I want to add the line number from where the exception was thrown. Any code which can be resolved at compile time into constants?
If not then I can write a simple utitly to pre-process my code which can read lines and replace a special constant _my_line_num by the line number but something should exist.
I feel some build tool like gradle can do this.
I am not sure if it is good solution or not but you can place this:
int linenumber = Thread.currentThread().getStackTrace()[2].getLineNumber();
as a parameter in your exception's contractor and display it as you need.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With