Je ne crois pas qu'un programme devrait ignorer silencieusement ou causer des ravages chaque fois qu'il rencontre un problème.
Ce que je fais avec les logiciels internes que j'écris pour mon entreprise ...
Cela dépend de l'erreur, disons que s'il s'agit d'une fonction critique qui entre des données dans MySQL, elle doit informer l'utilisateur qu'elle a échoué. Le gestionnaire d'erreurs doit essayer de collecter autant d'informations et fournir à l'utilisateur une idée de la façon de corriger l'erreur lui-même afin qu'il puisse enregistrer les données. J'aime également fournir un moyen de nous envoyer silencieusement les informations qu'ils essaient de sauvegarder, donc si le pire vient au pire, nous pouvons les entrer manuellement après la correction du bogue.
Si ce n'est pas une fonction critique, quelque chose qui peut générer des erreurs et ne pas affecter le résultat final de ce qu'ils essaient de réaliser, je ne leur montrerai peut-être pas de message d'erreur, mais je leur ferai envoyer un e-mail qui l'insérera automatiquement dans notre logiciel de suivi des bogues. ou un groupe de distribution d'e-mails qui alerte tous les programmeurs de l'entreprise afin que nous soyons conscients de l'erreur, même si l'utilisateur ne l'est pas. Cela nous permet de fixer le back-end tandis que sur le front-end, personne ne sait ce qui se passe.
L'une des plus grandes choses que j'essaie d'éviter est de faire planter le programme après l'erreur - de ne pas pouvoir récupérer. J'essaie toujours de donner à l'utilisateur la possibilité de continuer sans fermer l'application.
Je crois que si personne ne connaît le bug - il ne sera jamais corrigé. Je suis également un fervent partisan de la gestion des erreurs qui permet à l'application de continuer à fonctionner une fois qu'un bogue est découvert.
Si l'erreur est liée au réseau - pourquoi ne pas demander aux fonctions d'effectuer un test de communication réseau simple avant d'exécuter la fonction pour éviter l'erreur en premier lieu? Ensuite, simplement pour alerter l'utilisateur qu'une connexion n'est pas disponible, veuillez vérifier votre Internet, etc., etc. et réessayer?