Это одна из вещей, для которой полезно иметь препроцессор. Вы можете определить макрос, который поглощает исключения, а затем с помощью быстрого скрипта добавить этот макрос во все строки.
Итак, если бы это был C ++, вы могли бы сделать что-то вроде этого:
#define ATTEMPT(x) try { x; } catch (...) { }
// ...
ATTEMPT(WidgetMaker.SetAlignment(57));
ATTEMPT(contactForm["Title"] = txtTitle.Text);
ATTEMPT(Casserole.Season(true, false));
ATTEMPT(((RecordKeeper)Session["CasseroleTracker"]).Seasoned = true);
К сожалению, не во многих языках есть препроцессор, как в C / C ++.
Вы можете создать свой собственный препроцессор и добавить его в качестве шага перед сборкой. Если вы хотели полностью автоматизировать его, вы, возможно, могли бы написать препроцессор, который бы брал фактический файл кода и сам добавлял в него элементы try / catch (чтобы вам не приходилось добавлять эти блоки ATTEMPT () в код вручную). , Удостовериться, что он изменяет только те строки, которые должны быть, может быть сложно (нужно пропустить объявления переменных, конструкции цикла и т. Д., Чтобы не нарушать сборку).
Однако я думаю, что это ужасные идеи, и их никогда не следует реализовывать, но вопрос был задан. :)
На самом деле, вы никогда не должны этого делать. Вам нужно найти причину ошибки и исправить ее. Глотать / игнорировать ошибки - плохая вещь, поэтому я думаю правильный ответ здесь: «Исправьте ошибку, не игнорируйте ее!». :)