Inspectopedia Help

Unsafe call to 'Class.newInstance()'

Reports calls to java.lang.Class.newInstance().

This method propagates exceptions thrown by the no-arguments constructor, including checked exceptions. Usages of this method effectively bypass the compile-time exception checking that would otherwise be performed by the compiler.

A quick-fix is suggested to replace the call with a call to the java.lang.reflect.Constructor.newInstance() method, which avoids this problem by wrapping any exception thrown by the constructor in a (checked) java.lang.reflect.InvocationTargetException.

Example:

clazz.newInstance()

After the quick-fix is applied:

clazz.getConstructor().newInstance();

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023