bash.im ithappens.me zadolba.li
11510

Дебаг копипастой

Блок try/catch не даёт информации?

Есть у меня программа, которую пишу и обновляю с 2006 года до сего момента. Программа эта используется многими людьми ежедневно по много раз. И вот однажды мне надоело отлавливать баги, а главное, с трудом вытягивать информацию с описанием ошибок у пользователей, которые в силу специфики программы обычно являются домохозяйками.

Я сделал обработку всех исключений в программе так, чтобы перед пользователем появлялось окно с кнопками «Продолжить работу» и «Отправить отчёт автору». В простом поле был текст из стека ошибки — полный, длинный, иногда на несколько страниц. Сверху написано: «Нажать на кнопку „Отправить отчёт автору“ и в теле письма нажать Ctrl+V». То есть нет встроенной отправки отчёта на почту, реализация самая простая, используется почтовый клиент системы (если он есть, конечно). А обработка вывода такого окна при любом исключении довольно проста.

Так вот, в течение года-полутора мне приходили такие письма с выводом исключения. Благодаря этому удалось отладить программу так, что мне больше не присылают ошибки (ну, может, одну-две за год), хотя программой продолжают так же активно пользоваться.

Сделайте возможность обычному, неподготовленному пользователю просто передать сложную информацию. Вы значительно облегчите свой труд.