I was browsing through the drools source code
I am not a fan of seeing catching Throwable in any java code
…
I see this in class org.drools.util.ClassUtils:
/**
* This method will attempt to
create an instance of the specified Class. It uses
* a syncrhonized HashMap to cache
the reflection Class lookup.
* @param className
* @return
*/
public static Object
instantiateObject(String className) {
Class cls =
(Class) ClassUtils.classes.get( className );
if ( cls == null
) {
try {
cls = Class.forName( className );
ClassUtils.classes.put(
className, cls );
} catch ( Throwable e ) {
throw new RuntimeException("Unable to load class '" + className +
"'", e );
}
}
Object object =
null;
try {
object =
cls.newInstance();
} catch (
Throwable e ) {
throw new RuntimeException("Unable to instantiate object for class '"
+ className + "'", e );
}
return object;
}
I believe this masks important errors where the application
should not continue to run and it would be preferable to crash…
--zoly