Полагаю, такая система возможна (по крайней мере, в теории). Есть две проблемы, которые нужно преодолеть:
(1) Когда появляется сообщение об ошибке «неизвестная» ошибка, это означает «неожиданную» ошибку. Так как ошибка - это то, чего программист не ожидал, практически невозможно сделать что-то умное в момент сбоя.
(2) При возникновении ошибки в функции, как правило, невозможно определить более широкий контекст, в котором произошла ошибка. В приведенном вами примере автор хочет, чтобы приложение сообщило пользователю, что «обновление» не удалось. Беда в том, что отказавшая функция не знала, что происходит обновление.
Один из комментаторов на этой странице предложил использовать веб-сервис для поиска подробной информации об ошибках и разрешениях. Я думаю, что это может сработать (вам придется передать код ошибки и стек вызовов), но это потребует большого количества усилий по разработке и обслуживанию. Я думаю, что большинство разработчиков программного обеспечения решат, что это не стоит затрат - особенно когда недружественный диалог дает пользователю достаточно информации для поиска решения.