原因:
使用class.newInstance()方法时由默认构造函数中抛出的异常无法被捕获;
解决:
使用class.getDeclaredConstructor().newInstance()方法代替;
这个方法也是默认调用的无参数构造函数,如果有构造参数,需要指明类型和对应实例的值。
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
public T newInstance(Object ... initargs)
2022-06-12