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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2003, 13:31   #1  
Evgeniy is offline
Evgeniy
Участник
 
46 / 10 (1) +
Регистрация: 12.02.2003
? Как в attain реализуется обработка исключений?
Добрый день!
Такой вот вопрос: как можно в аттейне реализовать обработку исключений? Что нибудь вроде обычного "try - except" там существует? Спасибо.
Старый 29.07.2003, 15:11   #2  
finn is offline
finn
Участник
 
136 / 24 (1) +++
Регистрация: 26.12.2001
Адрес: Москва
аналогичного try except
нет

есть правда ERROR им можно прервать процесс и выбросить ошибку
или VALIDATE может проверить значение поля на не пустое

плюс при начале модификации данных таблицы автоматом открывается транзакция
если что не так то откатит изменения или зафиксирует при завершении процесса
(т.е. отработает весь код начиная с точки запуска алгоритма)
Старый 29.07.2003, 15:54   #3  
Evgeniy is offline
Evgeniy
Участник
 
46 / 10 (1) +
Регистрация: 12.02.2003
Жаль... Про error, validate и транзакции я знаю, но мне-то надо перехватывать ошибки при неудачных подключениях к ole-объектам, а то там вылезает всякая ерунда типа "Это сообщение для C/AL программистов: ...". Абыдно
Старый 29.07.2003, 16:26   #4  
Rungart is offline
Rungart
Участник
 
491 / 12 (1) ++
Регистрация: 13.01.2003
Адрес: Украина
Как на счет конструкции типа :

IF NOT CREATE(XlApplication,TRUE) THEN
ERROR(Text000);
Старый 29.07.2003, 17:13   #5  
Evgeniy is offline
Evgeniy
Участник
 
46 / 10 (1) +
Регистрация: 12.02.2003
Пробовал, тоже не катит. Для create все нормально, а для такой, например, конструкции:

if Connection.Open(ConnectionString) then error(text001)

, где Connection - это 'Microsoft ActiveX Data Objects 2.6 Library'.Connection, не компилируется.
Но я вроде разобрался, как из ADO вытащить коды ошибок, так что проблема снята.
Всем спасибо!
Старый 29.07.2003, 17:16   #6  
Rungart is offline
Rungart
Участник
 
491 / 12 (1) ++
Регистрация: 13.01.2003
Адрес: Украина
?
Если можно, то в двух словах : как из ADO вытащить код ошибки?
Старый 29.07.2003, 17:44   #7  
Evgeniy is offline
Evgeniy
Участник
 
46 / 10 (1) +
Регистрация: 12.02.2003
У объекта ADODB.Connection есть свойство Errors (ну т.е. по науке оно называется не свойство, а collection). Это набор объектов error. Там есть методы перебора этих объектов, их количество и пр. При возникновении ошибки туда добавляется новый объект. В самом error есть описание ошибки (description) и еще много всего. Там есть такая тонкость, что после обработки ошибки надо очищать этот список, чтобы в следующий раз не словить ее же.
Подробнее здесь:
http://msdn.microsoft.com/library/de...mdaobj01_7.asp

На самом деле оказалось, не все так здорово. При серьезных ошибках, типа неудачного подключения, я просто не успеваю обработать ошибку, аттейн выстреливает свое "собщение для C/AL программистов" Как его убедить этого не делать - непонятно
Старый 29.07.2003, 18:04   #8  
Rungart is offline
Rungart
Участник
 
491 / 12 (1) ++
Регистрация: 13.01.2003
Адрес: Украина
Спасибо, буду пробовать.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Запуск Navision Attain из командной строки Mary NAV: Администрирование 7 02.03.2004 16:31
Navision Attain через Citrix Alex_V NAV: Администрирование 2 15.12.2003 17:43
Переход на Navision Attain Makc_1 NAV: Прочие вопросы 3 30.07.2003 14:36
attain - Переход на attain Helen NAV: Прочие вопросы 8 04.06.2003 20:34
1С и Attain SlavaShevtsov NAV: Прочие вопросы 2 25.02.2003 17:20

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

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

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