Hallo,
ich würde sagen beides.
Benutzereingaben und Fehler bei fehlenden Dateien o.ä. sowie Debugging.
Hmm, schwere frage. Wenn man sauber programmiert, sollte man keine Fehlermeldungen zu erwarten haben. Wenn doch, sind die in jedem Fall abzufangen und zu loggen. Ob und wie Du eine Ausgabe an den User machst, ist je nach Art des Fehlers und der Anwenudung unterschiedlich.
Der Rest fällt dann eher unter Sicherheit, als unter Fehler, würd ich mal meinen. Konfiguriere Deine Rechner richtig und nach dem Stand der Technik und Du solltest wenig Probleme haben.