Skip to content

Commit b712f2e

Browse files
author
jan
committed
Try with catch all
1 parent af4a2b8 commit b712f2e

File tree

1 file changed

+27
-21
lines changed

1 file changed

+27
-21
lines changed

io.sloeber.autoBuild/src/io/sloeber/autoBuild/api/IAutoBuildConfigurationDescription.java

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
1717
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
1818
import org.eclipse.cdt.core.settings.model.ICSourceEntry;
19+
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
1920
import org.eclipse.core.resources.IFolder;
2021
import org.eclipse.core.resources.IProject;
2122
import org.eclipse.core.resources.IResource;
@@ -46,28 +47,33 @@ public static IAutoBuildConfigurationDescription getActiveConfig(ICProjectDescri
4647
return getConfig(projectDescription.getActiveConfiguration());
4748
}
4849

49-
public static IAutoBuildConfigurationDescription getConfig(ICConfigurationDescription confDesc) {
50-
if (confDesc == null)
51-
return null;
52-
if(confDesc.isReadOnly()) {
53-
/*read only will try to make it writable and that gives
54-
* Error: Exception in thread "pool-161-thread-2" java.lang.ClassCastException:
55-
* class io.sloeber.autoBuild.integration.AutoBuildConfigurationDescription cannot be cast to
56-
* class org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache
57-
* (io.sloeber.autoBuild.integration.AutoBuildConfigurationDescription is in unnamed module
58-
* of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @312045ce;
59-
* org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache is in unnamed
60-
* module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @587d228d)
61-
*/
62-
return null;
63-
}
64-
if(!(confDesc.getConfigurationData() instanceof AutoBuildConfigurationDescription)) {
65-
return null;
66-
}
67-
AutoBuildConfigurationDescription ret = (AutoBuildConfigurationDescription) confDesc.getConfigurationData();
68-
return ret;
50+
public static IAutoBuildConfigurationDescription getConfig(ICConfigurationDescription confDesc) {
51+
if (confDesc == null)
52+
return null;
53+
try {
54+
CConfigurationData confData = confDesc.getConfigurationData();
55+
/*
56+
* read only will try to make it writable and that gives Error: Exception in
57+
* thread "pool-161-thread-2" java.lang.ClassCastException: class
58+
* io.sloeber.autoBuild.integration.AutoBuildConfigurationDescription cannot be
59+
* cast to class
60+
* org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache
61+
* (io.sloeber.autoBuild.integration.AutoBuildConfigurationDescription is in
62+
* unnamed module of loader
63+
* org.eclipse.osgi.internal.loader.EquinoxClassLoader @312045ce;
64+
* org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache
65+
* is in unnamed module of loader
66+
* org.eclipse.osgi.internal.loader.EquinoxClassLoader @587d228d)
67+
*/
68+
if (!(confData instanceof AutoBuildConfigurationDescription)) {
69+
return null;
70+
}
71+
return (AutoBuildConfigurationDescription) confData;
72+
} catch (@SuppressWarnings("unused") Exception e) {
73+
return null;
74+
}
6975

70-
}
76+
}
7177

7278
/**
7379
* Get the source entries and

0 commit comments

Comments
 (0)