protected IStatus run(IProgressMonitor monitor) {
MultiStatus status = new MultiStatus(JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, DebugUIMessages.JavaDebugOptionsManager_1, null);
try {
IJavaExceptionBreakpoint bp = JDIDebugModel.createExceptionBreakpoint(ResourcesPlugin.getWorkspace().getRoot(),"java.lang.Error", true, true, false, false, null);
bp.setPersisted(false);
setSuspendOnCompilationErrorsBreakpoint(bp);
} catch (CoreException e) {
status.add(e.getStatus());
}
try {
IJavaExceptionBreakpoint bp = JDIDebugModel.createExceptionBreakpoint(ResourcesPlugin.getWorkspace().getRoot(),"java.lang.Throwable", false, true, false, false, null);
((JavaExceptionBreakpoint)bp).setSuspendOnSubclasses(true);
bp.setPersisted(false);
setSuspendOnUncaughtExceptionBreakpoint(bp);
} catch (CoreException e) {
status.add(e.getStatus());
}
if (status.getChildren().length == 0) {
return Status.OK_STATUS;
}
return status;
}
}