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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2020, 09:41   #1  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
как перехватить исключение в нескольких {}
Привет.
Не могу понять почему не перехватывает исключение.
Цель поймать исключение в методе numRemTemplate (весь стек ниже):
X++:
public static Integer numRemTemplate(Num _num, Num mask)
{
	...
	throw error(strfmt("@SYS25062",tmpNum, tmpTxt));
	...
}

Поэтому в методе getSubProjId по стеку ниже создал исключение:
X++:
void getSubProjId()
{
	...
	try
	{
	...
		sonNum = ProjTable::numRemTemplate(projFormat, format);
	...
	}
	catch
	{
		  throw error("error");
	}
	...
}


Но в данном методе не ловится исключение, оно срабатывает ниже по стеку в методе canClose:
X++:
catch (Exception::Error)
{
	if (this.numberSeqFormHandler())
	{
		this.numberSeqFormHandler().formMethodClose();
	}

	okToCreateJob = false;

	return checkfailed("@APM342");
}

Стек вызовов:

[s] \Data Dictionary\Tables\ProjTable\Methods\numRemTemplate 30
[s] \Classes\APMJobProjectMaintenance\getSubProjId 22
[s] \Classes\APMJobProjectMaintenance\createProject 61
[s] \Classes\APMJobProjectMaintenance\createNewJobProject 21
[s] \Data Dictionary\Tables\APMJobTableLine\Methods\insert 36
[c] \Classes\APMJobTableType\createJobLines 21
[c] \Classes\APMJobTableType\create 14
[c] \Forms\APMJobTableCreate\Methods\canClose 123
[c] \Classes\FormRun\closeOk
[c] \Classes\FormRun\task
[c] \Classes\SysSetupFormRun\task 27


Странно, вроде должен перехватывать исключение.

Последний раз редактировалось oleggy; 12.10.2020 в 09:47.
Старый 12.10.2020, 11:00   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,437 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Скорее всего метод getSubProjId вызывается внутри транзакции
Try Catch в методе update на таблице
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как перехватить "Объект CLR не может быть упакован..." oleggy DAX: Программирование 8 29.04.2020 19:35
Как создать обработку для нескольких строк? ski DAX: Программирование 6 16.11.2010 10:13
Как понять что вызывает исключение Invalid Method Call Jab Straight DAX: Программирование 0 17.12.2007 23:23
Почему может не ловиться исключение korvin DAX: Программирование 5 19.09.2006 16:49
Планирование нескольких продуктов из одной партии сырья Lexeich DAX: Функционал 12 25.08.2006 10:37

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

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

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