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;
}