Bug 84492 - ClassNotLoadedException in Variables view detail
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
index 296041d..3aa8a56 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
@@ -33,6 +33,7 @@
 JavaDebugPreferencePage.&Launch_timeout_(ms)__1=&Launch timeout (ms):
 JavaDebugPreferencePage.14=Suspend for &breakpoints during evaluations
 JavaDetailFormattersManager.9=Cannot perform nested evaluations.
+JavaDetailFormattersManager.0=<toString() unavailable. Component type not loaded>
 
 JavaStepFilterPreferencePage.Filter_co&nstructors_19=Filter co&nstructors
 JavaStepFilterPreferencePage.Filter_s&ynthetic_methods_(requires_VM_support)_17=Filter s&ynthetic methods (requires VM support)
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
index 29b2fd2..f487102 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
@@ -498,15 +498,17 @@
 				IJavaArrayType javaArrayType = (IJavaArrayType) arrayValue.getJavaType();
 				componentType = javaArrayType.getComponentType();
 			} catch (DebugException de) {
-				if (!(de.getStatus().getException() instanceof ClassNotLoadedException)) {
+				if (de.getStatus().getException() instanceof ClassNotLoadedException) {
+					result.append(DebugUIMessages.getString("JavaDetailFormattersManager.0")); //$NON-NLS-1$
+				} else {
 					JDIDebugUIPlugin.log(de);
+					result.append(de.getStatus().getMessage());
 				}
-				result.append(de.getStatus().getMessage());
 				return;	
 			}
 			
 			if (!(componentType instanceof IJavaReferenceType)) {
-				//if it is an array of primatives, cannot use Arrays.asList()
+				//if it is an array of primitives, cannot use Arrays.asList()
 				appendArrayDetailIndividually(result, arrayValue);
 				return;
 			}