On Sat, Oct 6, 2012 at 3:04 AM, Christos Zoulas<[email protected]>  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

Reply via email to