А вот хотелось бы поблагодарить неизвестного программиста обслуживаемой нами программы за то, что он вывел код ошибки API в MessageBox при ошибке работы с принтером. Без этого кода хрен бы я понял, что надо сократить название сетевого принтера, чтобы прога могла на него печатать.
Это, вообще, нетривиальная вещь. Можно просто показывать сообщение "Произошла ошибка"(плохо). Можно параллельно с этим выводить кучу инфы в лог(наверно, наиболее правильно - не пугает обычных пользователей техническими подробностями и дает возможность разобраться специалистам) или показывать ошибку целиком (не совсем хорошо, но иногда имеет смысл - особенно если сделать окно с кнопкой вроде "Информация" для подробного описания ошибки и кнопкой "Отослать разработчику отчет" :))
Это, вообще, нетривиальная вещь. Можно просто показывать сообщение "Произошла ошибка"(плохо). Можно параллельно с этим выводить кучу инфы в лог(наверно, наиболее правильно - не пугает обычных пользователей техническими подробностями и дает возможность разобраться специалистам) или показывать ошибку целиком (не совсем хорошо, но иногда имеет смысл - особенно если сделать окно с кнопкой вроде "Информация" для подробного описания ошибки и кнопкой "Отослать разработчику отчет" :))