Перейти к содержимому

Фотография

Передача в лог номера строки


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 resvit

resvit

    Новый участник

  • Members
  • Pip
  • 59 сообщений

Отправлено 30 августа 2011 - 10:34

Добрый день!
Подскажите пожалуйста,если использовать конструкцию:
try
{}
catch(e)
{
 Log.Warning(e.description)
}

в логе получается сообщение которое выводится в Exception. Как получить номер строки в логе на котором вывалился exception? И желательно то что пишется еще в remarks.

и второй вопрос:
Используя обработчики ошибок OnLogError и OnLogWarning мы получаем в лог сообщение которое пишется в теле функции обработчика. Как получить номер строки и функцию на которой вывалилась эта ошибка в логе?

Использую TC 7.14, JScript, Win XP SP2
  • 0

#2 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 30 августа 2011 - 10:47

Двойным кликом по эксепшену мы переходим на ту строку скрипта которая и вызвала эту ошибку.
  • 0

#3 resvit

resvit

    Новый участник

  • Members
  • Pip
  • 59 сообщений

Отправлено 30 августа 2011 - 11:45

Двойным кликом по эксепшену мы переходим на ту строку скрипта которая и вызвала эту ошибку.


Спасибо за помощь.

Но
в конструкции:
try
{
string  //error  
} 
catch (e) 
{Log.Warning(e.description)}   // flag

В лог выводится событие Warning и двойным кликом по этому событию мы попадаем на строку flag. А интересует строка error в теле try, с которой мы соскочили на catch.
  • 0

#4 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 30 августа 2011 - 12:58

можно не пользоваться try-catch ..и тогда по эксепшену будет переходить на нужную строку
  • 0

#5 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 30 августа 2011 - 13:02

Читайте описание exception и ищите ошибку в скрипте. Обычно постится довольно информативное сообщение, чтобы в собственном творчестве искомое место быстро отыскать.
  • 0

#6 resvit

resvit

    Новый участник

  • Members
  • Pip
  • 59 сообщений

Отправлено 30 августа 2011 - 13:18

Читайте описание exception и ищите ошибку в скрипте. Обычно постится довольно информативное сообщение, чтобы в собственном творчестве искомое место быстро отыскать.



Не совсем информативное. Например, list items of bounds (45) как определить на каком цикле вылетело? Если таблиц много.


Ребят, try-catch необходимы чтобы не вылетать из выполнения скрипта. Если я чего то не понимаю,тогда как? А на Exception скрипт останавливается и выполнение заканчивается. А нужно чтобы постилось в лог и дальше шло выполнение.
  • 0

#7 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 30 августа 2011 - 13:30

В ТС, вообще, не очень удобно c эксепшенами работать. Например, только одно то, что он не умеет ловить эксепшены прилетающие из другого модуля сводит их пользу практически к нулю. В вашем же случае, есть несколько вариантов:
1. Делать более подробный лог в теле самого скрипта
2. Если вы эти эксепшены кидаете самостоятельно, то записывайте в их дескрипшен все что вам нужно
3. Поиграйтесь с arguments.callee и arguments.callee.caller. Правда для того, чтобы это было эффективно скрипт не должен быть одной огромной простыней.
  • 0

#8 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 31 августа 2011 - 06:18

Да, вообще есть неудобство с отловом конкретного места ошибки... И конечно лучше самому стараться, на этапе написания, предусматривать ошибки и выводить свои эксепшены с дескрипшенами.

Например, только одно то, что он не умеет ловить эксепшены прилетающие из другого модуля сводит их пользу практически к нулю.

Говорят что в 8-ке вроде как понимает ошибки из других модулей.
  • 0

#9 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 31 августа 2011 - 07:56

Говорят что в 8-ке вроде как понимает ошибки из других модулей.

Врут :)
Не знаю как для всего остального, но для JS точно не поддерживается.
  • 0

#10 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 31 августа 2011 - 13:28


Говорят что в 8-ке вроде как понимает ошибки из других модулей.

Врут :)
Не знаю как для всего остального, но для JS точно не поддерживается.

http://smartbear.com...03-3443236727bc
Пишут, что в 8ке поддерживается.
  • 0

#11 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 31 августа 2011 - 14:38



Говорят что в 8-ке вроде как понимает ошибки из других модулей.

Врут :)
Не знаю как для всего остального, но для JS точно не поддерживается.

http://smartbear.com...03-3443236727bc
Пишут, что в 8ке поддерживается.

Ну оно как-то уж очень своеобразно поддерживается.
TC 8.1
Прикрепленный файл  tcexception.png   38,61К   31 Количество загрузок:
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных