Я хочу расширить класс Exception с помощью OtherException и написать имя класса и метода броска в поле сообщения.Я не вижу другого способа, кроме использования родительского конструктора для установки сообщения, но я не могу использовать методы, такие как getStackTrace, в аргументе super.Есть обходные пути?Или кто-нибудь знает, почему это нельзя сделать?
Это функциональность, которую я хотел бы иметь:
public OtherException(final String message) {
super(message + getStackTrace()[0].getClassName()+" "+getStackTrace()[0].getMethodName());
}
, но она не работает в Java.Это работает:
public OtherException(final String message) {
super(message + " class: " + Thread.currentThread().getStackTrace()[2].getClassName() + ", method: "
+ Thread.currentThread().getStackTrace()[2].getMethodName());
}
Может, кто-нибудь знает что-нибудь более изящное?