I am trying to write a simple code that writes all the folders in a drive to the console.
To skip the folders with unauthorized access, I have used a try catch block. Some programmers do not accept this as elegant coding.
Is there a better way to do this.
Here is what I have written.
static void Main(string[] args)
    {
        Queue<DirectoryInfo> directories = new Queue<DirectoryInfo>();
        DirectoryInfo dr = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
        directories.Enqueue(dr.Root);
        DirectoryInfo[] subdr = null;
        while (directories.Count > 0)
        {
            dr = directories.Dequeue();
            Console.WriteLine(dr.ToString());
            try
            {
                subdr = dr.GetDirectories();
                foreach (DirectoryInfo directory in subdr)
                {
                    if (directory.Exists)
                        directories.Enqueue(directory);
                }
            }
            catch (UnauthorizedAccessException e) { Console.WriteLine(e.Message); }
        }
    }