Показать сообщение отдельно
Старый 02.09.2011, 10:20   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от gl00mie Посмотреть сообщение
пару специализированных классов для проверки наиболее часто встречающихся условий и утверждений
В этом и беда универсальных методов - часто встречающиеся они обрабатывают... А вот с отсальными приходится мучаться.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
С ним идея была в том, чтобы в сообщениях на запись практически любой таблицы можно было ссылаться с помощью одного placeholder'а (%1), но чтобы описание при этом получалось необходимым и достаточным для идентификации записи, о которой идет речь: если это SalesTable, то чтобы был указан SalesId, если CustTable/VendTable - чтобы там был AccountNum, если CustTrans/VendTrans - чтобы обязательно были Voucher и TransDate и т.п., ну и чтобы везде был RecId, как в отладчике.
мне кажется, что вместо такой хотелки стоит рассмотреть следующий стандартный подход.
  1. ВСЕГДА надо писать setprefix("информация о том, что обрабатываем в данный момент - информация об источнике")
  2. сообщения об ошибках должны содержать только информацию об ошибке, но не должны содержать информацию об источнике ошибки
  3. (опционально) вместо вывода recid всегда юзать SysInfoAction

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

если юзать SysInfoAction то пользователю не нужно будет перевбивать в поиск recId - достаточно просто нажать на кнопку в инфологе.

беда в том, что люди не юзают даже стандартные подходы. Даже в Майкрософте.

=================
краткий совет - если не хватает информации об источнике ошибки, то всего-лишь добавьте setprefix в циклы верхнего уровня.
__________________
полезное на axForum, github, vk, coub.