BetterCms.Core.Services.Storage.FtpStorageService.TryCreateDirectory C# (CSharp) Метод

TryCreateDirectory() приватный Метод

private TryCreateDirectory ( string sereverUri, bool recursive = false ) : bool
sereverUri string
recursive bool
Результат bool
        private bool TryCreateDirectory(string sereverUri, bool recursive = false)
        {
            try
            {
                CreateDirectory(sereverUri);
            }
            catch (Exception)
            {
                if (!DirectoryExists(new Uri(sereverUri)))
                {
                    if (recursive)
                    {
                        var upperDir = CutLastDirectoryFromUri(sereverUri);
                        if (upperDir != sereverUri)
                        {
                            if (!TryCreateDirectory(upperDir, true))
                            {
                                throw;
                            }
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            return true;
        }