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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2009, 01:28   #1  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Потому. Стоит принять как данность.
Небольшой уточняющий комментарий, чтобы удостовериться
правильно ли я понимаю данную ситуацию (если где не прав - прошу поправить/дополнить):

1. В DAX 4.0 перехват ошибки в try/catch подразумевает неявный вызов ttsabort (кроме перехвата исключения Exception::UpdateConflict).

2. В DAX 4.0 "откат" любой вложенной транзакции всегда означает откат всей цепочки транзакций.

3. Учитывая вышесказанное имеем текущую реализацию: при возникновении исключения оно эскалируется "не перехваченным" вплоть до обработчика исключений самой внешней транзакции. При этом все транзакции, включая вложенные, откатываются.

X++:
static void Test_TTS_1(Args _args)
{
    ;

    try
    {
        ttsbegin; //tts level 1

	//Action block level 1
	//..
         
        try
        {
            ttsbegin; //tts level 2

            try
            {
                throw error("my exception");
            }
            catch //implicit ttsabort
            {
                error("level 3 catched");
            }
            
            ttscommit;
            
            info("level 3 completed");
        }
        catch //implicit ttsabort
        {
            error("level 2 catched");
        }
        
	//Action block level 2
	//..        

	ttscommit;
        
        info("level 2 completed");
    }
    catch //implicit ttsabort
    {
        error("level 1 catched");
    }

    info("level 1 completed");

}

Error Сообщение (01:26:29) my exception
Error Сообщение (01:26:29) level 1 catched
Info Сообщение (01:26:29) level 1 completed
За это сообщение автора поблагодарили: Товарищ ♂uatr (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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, время: 10:38.