> It's possible to anticipate every possible error
If that was true, why do programs ever have bugs? Why didn't the developer simply anticipate them?
No, for any slightly complex program it's definitely not possible to anticipate each error, it would require its developer(s) to be omniscient, short of that there is no chance to anticipate all the possible interactions between input, hardware and internal workings. That's why you normally have beta testers, who try to spot the most easily triggered bugs.