try {
MyClass[] myClass = cProxy.getMyClass();
return "" + myClass[0];
} catch (Exception e) {
// nothing to do
}
return "" + MyClass.UNKNOWN; <-- NoClassDefFoundError thrown
I got MyClass object from other objects, I just wondering why instead of line
MyClass[] myClass = cProxy.getMyClass();
did the Exception throw when called the static variables “MyClass.UNKNOWN” of MyClass class?
What’s the deep meaning of NoClassDefFoundError and ClassNotFoundException? Thanks
Here are excerpt from java Docs about both the exceptions.
NoClassDefFoundError:Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.
The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.
ClassNotFoundException :Thrown when an application tries to load in a class through its string name using:
• The forName method in class Class.
• The findSystemClass method in class ClassLoader .
• The loadClass method in class ClassLoader.
but no definition for the class with the specified name could be found.