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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2003, 12:46   #1  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Глупый вопрос про try .. catch
PHP код:
static void Job15(Args _args)
{
    try
    {
        
//throw exception::Error;
        
print 0;
    }

    catch (
Exception::Break)
    {
        print 
"error";
    }
    catch (
Exception::DDEerror)
    {
        print 
"error";
    }
    catch (
Exception::Deadlock)
    {
        print 
"error";
    }
    catch (
Exception::Error)
    {
        print 
"error";
    }
    catch (
Exception::Info)
    {
        print 
"error";
    }
    catch (
Exception::Internal)
    {
        print 
"error";
    }
    catch (
Exception::Sequence)
    {
        print 
"error";
    }
    catch (
Exception::Warning)
    {
        print 
"error";
    }

Должен ли я при запуске этого джоба видеть "Ошибка времени выполнения. Деление на ноль"?
Старый 12.03.2003, 14:51   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
К сожалению твое сообщение слегка попортилось
Но если я правильно понял твою идею, то не должен.
Но раз написал сюда, полагаю, что ты его видишь
Сам сталкивался с похожим, когда работал в Аксапте с COM объектами. Есди при вызове какого-либо метода СОМ объекта происходила ошибка - то выбрасывался Exception, что вполне нормально. Этот Exception вроде как отлавливался try-catch - если посмотреть дебаггером то программа начинала выполнять секцию catch, но по завершению метода(а точнее в момент уничтожения COM объекта) ВСЕ РАВНО выскакивало сообщение со стандартным сообщением об ошибке.
Как его подавить не знаю
Старый 12.03.2003, 15:20   #3  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано Андре
Сам сталкивался с похожим, когда работал в Аксапте с COM объектами. Есди при вызове какого-либо метода СОМ объекта происходила ошибка - то выбрасывался Exception, что вполне нормально. Этот Exception вроде как отлавливался try-catch - если посмотреть дебаггером то программа начинала выполнять секцию catch, но по завершению метода(а точнее в момент уничтожения COM объекта) ВСЕ РАВНО выскакивало сообщение со стандартным сообщением об ошибке.
Как его подавить не знаю
форум все таки хорошая вещь
пять минут назад сам пытался заставить выскакивать только мое сообщение об ошибке, а не "COM объект не имеет метода ...." .
... и тут прочитал этот постинг
тоже самое : вываливается сначала сообщение Аксапты, а потом мой обработчик ошибки
хотя заметил странную закономерность : catch'ем подавляется сообщение об ошибке в модальном окошке. Оно (сообщение) сразу вываливается в Infolog'е
__________________
С уважением, Вячеслав.
Старый 12.03.2003, 15:34   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
На самом деле, я упоминал про эту проблему раньше. Вот здесь http://www.axforum.info/forums/showt...ght=SourceSafe - самое последняя картинка в моем первом сообщении.
Старый 12.03.2003, 15:38   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
пять минут назад сам пытался заставить выскакивать только мое сообщение об ошибке, а не "COM объект не имеет метода ...."
Я собственно от того же пытаюсь избавиться

На самом деле job был такой:

PHP код:
#define.Excel('Excel.Application')

static void Job15(Args _args)
{

    
COM         COMappl;
    
COM         COMWorkbooksCOMworkbook;

    ;
    
COMappl COM::getObject(#Excel);
    
if (! COMappl)
        
COMappl = new COM(#Excel);

    
COMappl.visible(TRUE);
    
COMappl.screenUpdating(true);

    
COMworkbooks   COMappl.workbooks();
    
COMworkbook COMworkbooks.add("c:\\qwe.xls");
    
COMworkbook.close();

    try
    {
        
COMworkbook.close();
    }

    catch (
Exception::Break)
    {
        print 
"error";
    }
    catch (
Exception::DDEerror)
    {
        print 
"error";
    }
    catch (
Exception::Deadlock)
    {
        print 
"error";
    }
    catch (
Exception::Error)
    {
        print 
"error";
    }
    catch (
Exception::Info)
    {
        print 
"error";
    }
    catch (
Exception::Internal)
    {
        print 
"error";
    }
    catch (
Exception::Sequence)
    {
        print 
"error";
    }
    catch (
Exception::Warning)
    {
        print 
"error";
    }

Старый 12.03.2003, 17:16   #6  
PlasticinE is offline
PlasticinE
Смотрящий поверх деревьев (Варварский отморозок)
 
243 / 10 (1) +
Регистрация: 06.12.2001
<Зохавано мудератором>
за неуплату
__________________
It's a dirty job, but someone's got to do it. So?
Старый 12.03.2003, 18:04   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы


Злые вы (с)

Больше не буду
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
TTS и try..catch ahtoh DAX: Программирование 7 14.02.2009 15:52
наверное, глупый вопрос про numberSequence, но все же kitty DAX: Программирование 3 11.02.2009 10:04
ChangeCompany Try...Catch Владимир Максимов DAX: Программирование 10 12.01.2009 17:19
Глупый вопрос про СЛОИ kashperuk DAX: Программирование 5 12.06.2006 15:07
try...catch при операциях с таблицей ushastik DAX: Программирование 1 09.03.2004 18:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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