Dlaczego pomimo niespełnionego ifa, wchodzę do bloku finally w tym ifie?

0

Witam, nie rozumiem dlaczego ten kod wszedł do bloku finally
Przechwytywanie.PNG

            while (true)
            {
                if (queue.Count > 0)
                {
                    try
                    {
                        File.AppendAllText(path, queue.Dequeue());
                    }
                    catch (Exception e)
                    {
                        Log(e);
                    }
                    finally
                    {
                        Thread.Sleep(1000);
                        File.AppendAllText(path, queue.Dequeue());
                    }
                }
                Thread.Sleep(10);
            }
3

Dequeue odejmuje z kolejki, więc exception może lecieć bo ścieżka była zła. Nawet jak queue miało 1 element to po Twoim Dequeue z finally miałbyś count 'na minusie'.
Czy chodziło Ci o peek?

1 użytkowników online, w tym zalogowanych: 0, gości: 1