Frage zu EndOfSTreamException



  • Hallo Forum,
    ich wollte einmal eine EndOfStreamException auslösen und habe dazu folgenden Code geschrieben

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    FileStream fs = new FileStream(@"c:\text.txt", FileMode.Open, FileAccess.Read);
                    StreamReader sr = new StreamReader(fs);
    
                    while (true)
                    {
                        string tmp = sr.ReadLine();
                        Console.WriteLine(tmp);
                        System.Threading.Thread.Sleep(200);
                    }
                }
                catch (EndOfStreamException ex)
                {
    
                    Console.WriteLine("Huhu");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Console.ReadKey();
            }
        }
    }
    

    Jetzt das Problem: Es wird keine Exception ausgelöst. Es werden dann einfall null - strings eingelesen. Weshalb das? Ich dachte, dass die Exception ausgelöst wird, sobald hinter dem Ende des streams gelesen wird? Weiss da jemand etwas zu diesem Thema?

    Danke schon mal





  • OK,

    dann ist alles klar. Vielen Dank LordJaxom...


Anmelden zum Antworten