The reason DFC can throw LinkageError is because of its BOF activities. The dynamic classloading related to BOF can throw these errors when there are configuration problems with a particular BOF module.
To protect against occurances you need to add a "catch" clause for Throwable like this:
try { IDfFolder object = (IDfFolder) session.newObject(XdsxFolderType.TYPE_NAME); object.setObjectName(folder.getEntryUuid()); object.save(); } catch (DfException e) { // Do something with this exception } catch (Throwable e) // Because DFC can generate a couple nasty "Error" throwables { throw new RuntimeException(e); }