AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.07.2003, 19:13   #1  
ahtoh
Гость
 
n/a
? TTS и try..catch
почему try..catch не работает внутри ttsbegin..ttscommit ?
Старый 14.02.2009, 03:16   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Правильно. То есть exception будет обработан первым блоком catch после последнего (внешнего) ttscommit;
Исключением, как вы уже сказали, является UpdateConflict
За это сообщение автора поблагодарили: alex55 (1), Товарищ ♂uatr (1).
Старый 14.02.2009, 14:19   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Не совсем понятна только фраза:
Цитата:
перехват ошибки в try/catch подразумевает неявный вызов ttsabort
...........
catch //implicit ttsabort
На самом деле откат выполняется не при перехвате, а при генерации самого исключения... А перехвата ошибок при этом может и не быть..
Хотя вероятно, вы именно это и имели ввиду..

А так вообще всё верно.
Дополню цитатами из Inside Microsoft Dynamics AX 4.0:
Цитата:
Исключение (кроме конфликта обновления), генерируемое внутри транзакции, останавливает исполнение этого блока, после чего происходит откат всех вставок и обновлений, выполненных после первого оператора ttsBegin.
...........
Исполнение кода не может продолжаться внутри области действия транзакции, поэтому среда времени выполнения игнорирует операторы try и catch внутри транзакции. Это означает, что исключение, сгенерированное внутри транзакции, может быть перехвачено только за пределами транзакции.
...........
Исключение UpdateConflict - это единственное исключение, которое может быть перехвачено и внутри и снаружи действия транзакции.
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: alex55 (1).
Старый 14.02.2009, 15:52   #4  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от ZVV Посмотреть сообщение
На самом деле откат выполняется не при перехвате, а при генерации самого исключения... А перехвата ошибок при этом может и не быть..
Хотя вероятно, вы именно это и имели ввиду..
Согласен. Не точно выразился. Спасибо за уточнение!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ChangeCompany Try...Catch Владимир Максимов DAX: Программирование 10 12.01.2009 17:19
staticsax: Real world processing: TTS and exceptions Blog bot DAX Blogs 0 20.08.2007 11:50
catch Александр Костоусов DAX: Программирование 3 07.09.2004 10:16
try...catch при операциях с таблицей ushastik DAX: Программирование 1 09.03.2004 18:26
Глупый вопрос про try .. catch Vadik DAX: База знаний и проекты 6 12.03.2003 18:04

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:09.