StackTraceElement question
David Holmes
david.holmes at oracle.com
Sun Oct 7 23:27:27 UTC 2012
> On Sat, Oct 6, 2012 at 3:04 AM, Christos Zoulas<christos at zoulas.com> wrote:
>
>> Hi,
>>
>> I don't know if this belongs to this list, but if it does not,
>> please point me to where it does. I think that it would be nice if
>> StackTraceElement which currently contains:
>>
>> boolean equals(Object obj)
>> String getClassName()
>> String getFileName()
>> int getLineNumber()
>> String getMethodName()
>> int hashCode()
>> boolean isNativeMethod()
>> String toString()
>>
>> It would be more useful for it to also contain:
>>
>> Class<?> getClass()
>>
>> The reason I am asking, is because I have an application where I
>> would like to find the enclosing class from where the exception is
>> thrown not the superclass, but I cannot deduce that from the class
>> name. If STE contained the above method, I could do:
>>
>> Class<?> c = ste.getClass();
>> while (c.getEnclosingClass() != null) {
>> c = c.getEnclosingClass();
>> }
>> return c.getName();
Can't you just do Class.forName(getClassName()) and then find the
enclosing class?
David
-----
>> to find the class I want, and getClassName() could be just a wrapper:
>>
>> String getClassName() {
>> return getClass().getName();
>> }
>>
>> Is there any reason to store the name instead of the Class<?>? Is it
>> possible to fix this in a future version of the jdk?
>>
>> thanks
>>
>> christos
>>
More information about the core-libs-dev
mailing list