Devi prima isolare le aree in cui potrebbero verificarsi errori e essere visibile all'utente. Quindi puoi documentarli. È così semplice.
Beh, in teoria semplice .. in pratica gli errori possono verificarsi in tutto il dannato posto, e riportarli può trasformare un bel codice in un mostro di logging, lancio di eccezioni e gestione e il passaggio dei valori di ritorno.
Consiglierei quindi un approccio in 2 fasi. Il primo è registrare, registrare un sacco e un sacco.
In secondo luogo è determinare i principali componenti e le loro interfacce e definire i principali casi di errore in cui questi componenti possono trovarsi. È quindi possibile accedere in modo più visibile quando uno di questi errori (il modo in cui si gestisce l'errore internamente è fino a te - eccezioni o codici di errore non fanno differenza qui). Generalmente un utente vedrà l'errore e passerà ai registri per ottenere informazioni più dettagliate.
Lo stesso approccio viene utilizzato per i server Web e il tuo esempio di codice di errore http. Se l'utente vede un 404 e lo segnala per supportare, cercherà nei registri i dettagli di ciò che stava succedendo, quale pagina è stata visitata, quando, e potrà raccogliere qualsiasi altra informazione possibile da qualsiasi altra parte abbia senso , essere nel DB, nella rete o nell'applicazione.