Показать сообщение отдельно
Старый 06.11.2011, 19:52   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Любопытно, что в стандартной документации в разделе Exception Handling про такую особенность исключений ничего не сказано.

Более того написано буквально следующее :

Цитата:
One strategy is to have the last catch statement leave the exception type unspecified. This means it handles all exceptions that are not handled by a previous catch. This strategy is appropriate for the outermost try - catch blocks.

X++:
try { /* Code here. */ } 

catch (Exception::Numeric) { info("Caught a Numeric exception."); } 

catch { info("Caught an exception."); }
Т.е. если четко следовать документации, то можно нагородить ошибок.
Хотя формально все правильно, просто в некоторых редких случаях разъезжается InventSum и InventTrans.

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

Последний раз редактировалось Logger; 06.11.2011 в 20:00.