Assuming that ONLY ReadLine() will throw @Error is risky business. Nomally one would kick things off with a ReadLine() before the loop starts and then have another ReadLine() as the last actio in the loop.