|
Как перехватить сообщение об ошибке | ☑ | ||
---|---|---|---|---|
0
hittih
31.05.12
✎
13:57
|
собственно в этом вопрос, Как перехватить сообщение об ошибке, не используя конструкцию попытка исключение
|
|||
1
Maxus43
31.05.12
✎
13:59
|
никак...
что значит перехватить? |
|||
2
ДенисЧ
31.05.12
✎
14:00
|
А что, попытка - нехаляльна?
|
|||
3
Buster007
31.05.12
✎
14:01
|
чего только не придумают...
|
|||
4
shamannk
31.05.12
✎
14:08
|
Нужно в начале строки где происходит ошибка поставить "//" и так до победного.
|
|||
5
HEKPOH
31.05.12
✎
14:13
|
в отладчике "Остановка по ошибке", а потом ОписаниеОшибки() :)
|
|||
6
Maxus43
31.05.12
✎
14:15
|
(5) не взлетит...)
ОписаниеОшибки() отладчик не переваривает почему-то |
|||
7
HEKPOH
31.05.12
✎
14:16
|
(6) не стал проверять - думал, взлетит(
|
|||
8
hittih
31.05.12
✎
14:18
|
Хочу выводить сообщение об ошибке не в окно служебных сообщений, а в свое.
Не хочу везде пихать попытка - исключение Хотел программно при старте ситемы переопределять стандарное окно вывода об ошибке на свое, что все сообщения выводились в него. |
|||
9
Maxus43
31.05.12
✎
14:20
|
Попытка Икслючение - сделано для тех ошибок которые в "окно" не выводятся вобще, у них своё окно с кнопками Подробно, Конфигуратор и т.п.
|
|||
10
Maxus43
31.05.12
✎
14:21
|
а ошибки типа - недостаточно товара на складе - это не ошибка
|
|||
11
hittih
31.05.12
✎
14:25
|
Я имел ввиду ошибки, которые возникают в коде прикладного решения при его написании и которые по каким-то причинам на этапе отладки не были выявлены, вот они то мне и нужны.
|
|||
12
Wobland
31.05.12
✎
14:26
|
(11) сильно интересно, на зачем?
|
|||
13
Алистар
31.05.12
✎
14:26
|
Деление на 0 это ошибка?
|
|||
14
hittih
31.05.12
✎
14:31
|
Wobland просто скажите можно или нет?
|
|||
15
acsent
31.05.12
✎
14:34
|
такие ошибки пишутся в журнал регистрации
|
|||
16
hittih
31.05.12
✎
14:37
|
про журнал я знаю, не подходит
|
|||
17
acsent
31.05.12
✎
14:39
|
а что нужно то?
|
|||
18
Maxus43
31.05.12
✎
14:40
|
(14) > (1). Нельзя.
что значит перехватывать то? пусть в коде ошибка, например при записи справочника, но чтоб он таки записался, и ошибку вывел? |
|||
19
Maxus43
31.05.12
✎
14:41
|
собсно ни в одной языке программирования нельзя, ибо нет СМЫСЛА. имхо
|
|||
20
Starhan
31.05.12
✎
14:42
|
"Хочу выводить сообщение об ошибке не в окно служебных сообщений, а в свое."
Для этого и существует Попытка "Не хочу везде пихать попытка - исключение" Конфликт целей "Хотел программно при старте ситемы переопределять стандарное окно вывода об ошибке на свое, что все сообщения выводились в него." Невозможно. |
|||
21
Maxus43
31.05.12
✎
14:43
|
новый стиль разработки. Весь код пихать в попытку - и потом смотреть логи)
|
|||
22
hittih
31.05.12
✎
14:54
|
Вообщем нельзя, ну чтож нет так нет, спасибо всем кто откикнулся.
|
|||
23
oleg_km
31.05.12
✎
15:31
|
(19)(21) Именно так и пишется например в C++:
int main() { try { ... Код всего приложения ... } catch(_com_error& e) { dump_com_error(e); } return 0; } На Фокспре есть аналогичная конструкция, которая позволяет глобально в приложении переопределить обработчик ошибок. Это 1С скорее исключение из общих правил. Но с другой стороны, это все-таки не совсем среда разработки |
|||
24
Maxus43
31.05.12
✎
15:34
|
(23) так в 1с никто не запрещает писать
|
|||
25
Maxus43
31.05.12
✎
15:36
|
а переназначить можно только служебные сообщения, в файл.
|
|||
26
Fragster
гуру
31.05.12
✎
15:40
|
мне в таком уже приходилось копаться...
Ко всем событиям всех форм подвешивался свой обработчик, типа ИмяПроц = ПолучитьИмяПроцедуры(Событие) Попытка Выполнить(ИмяПроц) Исключение КонецПоптыки; И если там в середине этого дела что-то шло не так - то просто процедура прекращала выполняться... особенно прикольно, когда при подборе не проставлялась цена или там НДС не считался внезапно... счастливой отладки, блин... |
|||
27
Fragster
гуру
31.05.12
✎
15:42
|
причем "остановка по ошибке" не канала, потому что там например ПолучитьАтрибутОбъекта(Объект, ИмяАтрибута) везде юзался, который в попытке опять же пытался получить Объект[ИмяАтрибута], и на обычный вызов функции где-то 5-10 исключений срабатывало, при старте системы - так вообще штук двадцать...
редкостной "красоты" конфа |
|||
28
oleg_km
31.05.12
✎
15:45
|
(24) Ты внимательно на код посмотри: попытка находится в функции main(), а значит глобально для всего приложения будет действовать данная обработка. А в 1С в каком месте (ОДНОМ) мне написать Попытка, чтобы все ошибки обрабатывались МОИМ обработчиком?
|
|||
29
х86
31.05.12
✎
16:19
|
(28)зачем?
|
|||
30
Maxus43
31.05.12
✎
16:42
|
(29) как зачем? ТАМ можно, а 1с г*вно :)
|
|||
31
hittih
01.06.12
✎
15:00
|
Up
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |