Non credo che un programma debba ignorare o causare il caos ogni volta che si verifica un problema.
Che cosa faccio del software interno che scrivo per la mia azienda ...
Dipende dall'errore, diciamo se è una funzione critica che sta inserendo dati in MySQL, ha bisogno di far sapere all'utente che ha fallito. Il gestore degli errori dovrebbe cercare di raccogliere tutte le informazioni e fornire all'utente un'idea di come correggere l'errore da sé in modo che possano salvare i dati. Mi piace anche fornire un modo silenzioso di inviarci le informazioni su dove cercano di salvare, quindi se il peggio peggiora, possiamo inserirlo manualmente dopo che il bug è stato corretto.
Se non è una funzione critica, qualcosa che può errore e non influisce sul risultato finale di ciò che stanno cercando di ottenere, potrei non mostrare loro un messaggio di errore, ma inviarlo un'email che lo inserisce automaticamente nel nostro software di tracciamento bug o un gruppo di distribuzione e-mail che avvisa tutti i programmatori dell'azienda in modo che siamo a conoscenza dell'errore, anche se l'utente non lo è. Questo ci permette di fissare il back-end mentre sul front-end nessuno sa cosa sta succedendo.
Una delle cose più grandi che cerco di evitare è avere il programma in crash dopo l'errore - non essere in grado di recuperare. Cerco sempre di dare all'utente la possibilità di continuare senza chiudere l'applicazione.
Credo che nessuno sappia del bug, non sarà mai riparato.
Sono anche fermamente convinto della gestione degli errori che consente all'applicazione di continuare a funzionare una volta scoperto un errore.
Se l'errore è correlato alla rete - perché le funzioni non eseguono un semplice test di comunicazione di rete prima di eseguire la funzione per evitare l'errore in primo luogo? Quindi, basta avvisare l'utente che una connessione non è disponibile, verificare Internet ecc. Ecc. E riprovare?