Имя: Пароль:
1C
 
ОписаниеОшибки(). что за бред?
0 Carpenter
 
18.04.05
00:48
Попытка
....
ВызватьИсключение "БлаБлаБла";
....
Исключение
   ОписаниеОшибки()
КонецЕсли;

ОписаниеОшибки()--возвращает пустую строку.....как с этим бороться?
1 Carpenter
 
18.04.05
22:22
up
2 Волшебник
 
18.04.05
23:49
Согласны, бред.
3 Carpenter
 
19.04.05
00:40
извиняюсь
КонецЕсли; заменить на КонецПопытки;
4 Carpenter
 
19.04.05
00:48
(2) бред это в адрес того что я написал?

я что-то не так делаю?

я попробовал просто поделить на ноль в операторных скобках Попытка...Исключение, но внутри Исключение...КонецПопытки; Функция ОписаниеОшибки() возвращает ту же пустую строку...при этом убираю Попытка...КонецПопытки; и мне сообщает 1с, в какой строке произошла ошибка и описание: "Деление На Ноль"...

может просвятите почему так происходит? буду очень благодарен!!!

вроде написано:
Встроенные функции языка
ОписаниеОшибки (ErrorDescription)
Синтаксис:
ОписаниеОшибки()
Описание:
Получает описание ошибки.
Примечание:
Применять данную функцию имеет смысл только внутри операторных скобок Исключение - КонецПопытки, так как в ином случае она вернет пустую строку. Помогает в выдаче диагностики при возникновении ошибок.
5 Carpenter
 
19.04.05
20:31
up
6 Волшебник
 
модератор
19.04.05
20:37
(5) Но ты, конечно, понимаешь, что поднятие темы не гарантирует ответа, так?
7 Carpenter
 
19.04.05
20:42
понимаю......
не понимаю что я такого написал, что на это нельзя ответить...если сильно туплю, то скажите---значит действительно сильно туплю...


если не на вопрос то хоть почему нельзя на него отвечать ответьте...мне на будущее...
8 Волшебник
 
модератор
19.04.05
20:43
(7) Лично мне лень разбираться.
9 Волшебник
 
модератор
19.04.05
20:44
(8)+ Это же надо восьмерку запускать...
10 Carpenter
 
19.04.05
20:47
(8)такой ответ понятен=))
смутило (2)
11 Лох 80
 
19.04.05
20:49
А типа если Сообщить(ОписаниеОшибки())...
12 Carpenter
 
19.04.05
21:01
офигеть........
вывело:
{Документ.ОтчетнаяФорма.Форма.ФормаДляЗаполнения(638)}: ДелениеНаНоль

при отладке всё равно пустая строка и на равенство этому значению не ведётся=))

надо было им написать что эта функция может употреблятся только в Сообщить()..

вообще это сильно на мой вкус.........
13 Лох 80
 
19.04.05
21:05
Не знаю, как в 80, но в 7.х так всегда было... Вроде даже в Исключении отладчик вообще не работает, как бы выключается, смутно что-то такое помню, трассирни в нём а=100; и увидишь... Удачи.
14 Carpenter
 
19.04.05
21:39
не а=100;
  а=200;

вполне нормально работает...после первой строчки показывает, что а действительно 100, после второй 200=)...это слава богу есть....

есть ощущение, что ОписаниеОшибки() выдаёт пустую строку не по намерению разработчиков, хотя......фиг знает....
15 vasinok
 
20.04.05
10:10
Может я чего-то не понял, но:
Попытка
   а = 1/0;
Исключение
   ОпОшибки = ОписаниеОшибки();
   Если ОпОшибки = "{Справочник.Фирмы.Форма.ОсновнаяФормаСписка(70)}: Деление на 0" Тогда
       Сообщить("Попытка деления на 0");
   КонецЕсли;
КонецПопытки;

В окне служебных сообщений:
Попытка деления на 0
16 vasinok
 
20.04.05
10:11
(15)+ платформа 8.0.9.32
17 vasinok
 
20.04.05
10:14
>>и на равенство этому значению не ведётся=))
"{Справочник.Фирмы.Форма.ОсновнаяФормаСписка(70)}...
70 - номер строки модуля в которой просходит деление на 0.
18 igork1966
 
20.04.05
11:00
(12) ты сам то понял что сказал:
"..надо было им написать что эта функция может употреблятся только в Сообщить().."
откуда такой вывод оригинальный?
Ты сам просто "выбросил" результат выданный функцией "ОписаниеОшибки()".
Или 1с должна за тебя додумать куда пихать эту строку?
Исключение
  ОписаниеОшибки();
КонецПопытки;
19 igork1966
 
20.04.05
11:09
(18)+ Если вчитатся в:
"Применять данную функцию имеет смысл только внутри операторных скобок Исключение - КонецПопытки, так как в ином случае она вернет пустую строку."
то понятно почему в отладчике нельзя в табло посмотреть результат ОписаниеОшибки().
20 vi0
 
20.04.05
11:16
ВызватьИсключение("БлаБлаБла");
скобки поставь
21 vi0
 
20.04.05
11:25
хотя и без скобок работает
тебе наверное твой работодатель интересных задачь не ставит, и ты решил углибиться в анализ v8?
22 Carpenter
 
21.04.05
00:25
(15) у меня тогда не получилось..щас ещё раз попробую..может номер строчки перепутал

(17) спасибо=)) это я знаю...
23 Carpenter
 
21.04.05
00:32
(18) а ты сам понял что сказал? кто за кого должен что-то додумывать?

и где ты ещё можешь эту функцию употребить? может (15) и работает, но если добавить строчку в модуль, то надо будет все места где это использовано переделывать...удобно блин...вот и получается, что это только для отладки сделано, а если в режиме отладки этого не видать((19)--ну да ты прав), то видимо только в сообщить это и предпологается использовать?

(21) есть ощущение, что ставит поэтому и углубился..а форум вообще для чего этот как считаешь?...

P.S.хотя вообще из-за моего трудоустрйства можешь не напрягаться...
24 vi0
 
21.04.05
09:07
чувак, не горячись, в моём сообщении нет ни одного камня в твой огород, прочитай еще раз...

а для твоего случая можно на крайняк использовать временную переменную, и её уже смотреть в отладчике
Исключение
   a = ОписаниеОшибки();
  ...
КонецПопытки;
25 Carpenter
 
21.04.05
22:28
(24) ок, чувак, не буду=))это я не по злобе=)) извини, если что не так..

короче сделал в итоге так:
ОпОшибки=ОписаниеОшибки();
ОпОшибки=Прав(ОпОшибки, СтрДлина(ОпОшибки)-Найти(ОпОшибки,"}")-2);
Если ОпОшибки="ДелениеНаНоль" Тогда
  Ячейка.Значение=0;
КонецЕсли;

Всем поучавствовавшим огромное спасибо!!!!  тема закрыта...
Ошибка? Это не ошибка, это системная функция.