@Override
    protected boolean execute(
            CtClass inputClass,
            String inputClassName,
            CtConstructor constructor)
            throws CannotCompileException, NotFoundException {

        if (!isMatchConstructorSource(inputClassName, constructor)) {
            return false;
        }
        String target = getTarget();

        ClassUtils.newConstructorDelegate(
                classPool,
                inputClass,
                constructor,
                (source, result) -> {
                    String targetStatement = target;
                    targetStatement = targetStatement.replace("\\s+", " ");
                    String statement = "try{" + source + "} catch (" + getException() + " e) {"
                            + targetStatement.replace("$e", "e") + "}";

                    return getReplaceStatement(inputClassName, (CtConstructor) result.getSource(), statement);
                });

        Logger.warning(getPrettyName() + " by: " + target
                + " at " + inputClassName + ".java" + ":" + constructor.getName());
        return true;
    }
Transform that wraps constructor-execute with try-catch.
plugin/src/main/groovy/com/didichuxing/tools/droidassist/transform/enhance/ConstructorExecutionTryCatchTransformer.java