Sprawdzanie uprawnień do katalogu i zapisu plików w .NET

W mojej aplikacji .NET 2.0 muszę sprawdzić, czy istnieją wystarczające uprawnienia do tworzenia i zapisywania plików w katalogu. W tym celu mam następującą funkcję, która próbuje utworzyć plik i zapisać do niego pojedynczy bajt, usuwając się później, aby sprawdzić, czy uprawnienia istnieją.

Pomyślałem, że najlepszym sposobem sprawdzenia jest próba zrobienia tego, wyłapanie wszelkich wyjątków, które występują. Nie jestem jednak szczególnie zadowolony z ogólnego połowu wyjątków, więc czy jest lepszy czy może bardziej akceptowany sposób na zrobienie tego?

private const string TEMP_FILE = "\\tempFile.tmp";

/// <summary>
/// Checks the ability to create and write to a file in the supplied directory.
/// </summary>
/// <param name="directory">String representing the directory path to check.</param>
/// <returns>True if successful; otherwise false.</returns>
private static bool CheckDirectoryAccess(string directory)
{
    bool success = false;
    string fullPath = directory + TEMP_FILE;

    if (Directory.Exists(directory))
    {
        try
        {
            using (FileStream fs = new FileStream(fullPath, FileMode.CreateNew, 
                                                            FileAccess.Write))
            {
                fs.WriteByte(0xff);
            }

            if (File.Exists(fullPath))
            {
                File.Delete(fullPath);
                success = true;
            }
        }
        catch (Exception)
        {
            success = false;
        }
    }

questionAnswers(8)

yourAnswerToTheQuestion