protected String getDumpPath() {
        final String dumpPath = url.getParameter(DUMP_DIRECTORY);
        if (StringUtils.isEmpty(dumpPath)) {
            return USER_HOME;
        }
        final File dumpDirectory = new File(dumpPath);
        if (!dumpDirectory.exists()) {
            if (dumpDirectory.mkdirs()) {
                logger.info(format("Dubbo dump directory[%s] created", dumpDirectory.getAbsolutePath()));
            } else {
                logger.warn(
                        COMMON_UNEXPECTED_CREATE_DUMP,
                        "",
                        "",
                        format(
                                "Dubbo dump directory[%s] can't be created, use the 'user.home'[%s]",
                                dumpDirectory.getAbsolutePath(), USER_HOME));
                return USER_HOME;
            }
        }
        return dumpPath;
    }
@Test
    void jStackDumpTest_dumpDirectoryNotExists_cannotBeCreatedTakeUserHome() {
        final String dumpDirectory = dumpDirectoryCannotBeCreated();

        URL url = URL.valueOf("dubbo://admin:hello1234@10.20.130.230:20880/context/path?dump.directory="
                + dumpDirectory
                + "&version=1.0.0&application=morgan&noValue=true");
        AbortPolicyWithReport abortPolicyWithReport = new AbortPolicyWithReport("Test", url);

        Assertions.assertEquals(System.getProperty("user.home"), abortPolicyWithReport.getDumpPath());
    }