Einfach ausgedrückt, wenn eine Ausnahme oder ein Fehler auftritt, stimmt etwas nicht. Es muss nicht unbedingt etwas sehr falsch sein, aber das Erstellen, Auslösen und Abfangen von Fehlern und Ausnahmen nur um Goto-Anweisungen zu verwenden, ist keine gute Idee und wird selten gemacht. 99% der Zeit gab es irgendwo ein Problem.
Probleme müssen angegangen werden. So wie im Leben, in der Programmierung, wenn man Probleme einfach ignoriert und versucht, sie zu umgehen, verschwinden sie oft nicht einfach von selbst; stattdessen werden sie größer und vermehren sich. Um zu verhindern, dass ein Problem auf Sie zukommt und später erneut zuschlägt, müssen Sie entweder 1) es beseitigen und anschließend aufräumen oder 2) es eindämmen und anschließend aufräumen.
Ausnahmen und Fehler einfach zu ignorieren und sie so stehen zu lassen, ist ein guter Weg, um Speicherlecks, offene Datenbankverbindungen, unnötige Sperren für Dateiberechtigungen usw. zu erleben.
In seltenen Fällen ist das Problem so winzig, trivial und - abgesehen von der Notwendigkeit eines try...catch-Blocks - selbständig, dass es wirklich keine Aufräumarbeiten danach gibt. Dies sind die einzigen Gelegenheiten, in denen diese bewährte Praxis nicht unbedingt zutrifft. Meiner Erfahrung nach bedeutet dies im Allgemeinen, dass was auch immer der Code tut, im Grunde genommen belanglos und verzichtbar ist, und etwas wie Wiederholungsversuche oder spezielle Nachrichten weder die Komplexität noch das Anhalten des Threads wert sind.
In meinem Unternehmen gilt die Regel, fast immer etwas in einem Catch-Block zu tun, und wenn Sie nichts tun, müssen Sie immer einen Kommentar mit einem sehr guten Grund dafür abgeben. Sie dürfen niemals einen leeren Catch-Block passieren lassen, wenn noch etwas zu tun ist.