Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181

Обработка ошибок

17.12.2008, 11:20. Показов 1029. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
используй erl()
только если в строке с ошибкой нету номера строки erl() возвращает 0
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2008, 11:20
Ответы с готовыми решениями:

Обработка ошибок в VB
Доброго времени суток, Уважаемые! Решил добавить в программу обработку ошибок, но работает это почему-то не так, как задумывалось. ...

Обработка ошибок у VB 6.0
Поставил другую версию VB 6.0 и теперь в стадии отладки, если происходит ошибка, то меня выкидывает на ошибочную функцию, хотя у меня...

Обработка ошибок ввода
Ребят.Помогите пожалуйста вот проверка If (Text3.Text - Int(Text3.Text)) <> 0 Then MsgBox "Íå öåëîå" Text3.Text = "" ...

5
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 8
17.12.2008, 11:57
А Вы про какую версию говорите? и что это за функция erl()? Насколько я знаю единственный способ это нумеровать строчки (сегменты) спомощью стрингов.
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
17.12.2008, 18:28  [ТС]
VB6.0

sub test
dim a as long
on error goto err_handler
a=1000/0
exit sub
err_handler:
debug.print erl()'напишет 0
end sub

sub test
dim a as long
on error goto err_handler
333: a=1000/0
exit sub
err_handler:
debug.print erl()'напишет 333
end sub
0
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 8
18.12.2008, 12:28
Тоже кстати вариант с erl()
Но эта функция недокументированная и ничего такого сверхполезного она не делает.
К тому же у нее недостаток если метка у строчки не поставлена метка она вернет 0
Ведь часто нужно знать просто функцию в которой происходит ошибка (это можно автоматически практически). Вот попробовал привести пример реального кода, извените если перегружен лишними указателями

Private Function Save_test() As Boolean
Dim str_test As String
On Error GoTo hell
Save_test = False
str_test = 2
If Len(Me.begindate.Value) <= 0 Or Not IsMydate(Me.begindate.Value) Then
MsgBox 'Неверная дата начала', vbCritical
Save_test = False

begindate.SetFocus
Exit Function
End If
str_test = 3
If Len(Me.enddate.Value) <= 0 Or Not IsMydate(Me.enddate.Value) Then
MsgBox 'Неверная дата окончания', vbCritical
Save_test = False
End if
Save_test = True
Exit Function
hell:
Call Errate('dms.save_test' & str_test)
End Function

'Обработка ошибок

Public Function Errate(MODULE As String) As String
Dim str As String
str = 'Номер ошибки: ' & Err.Number & Chr(13) & 'Описание: ' & Err.Description & Chr(13) & 'Источник: ' & Err.Source _
& Chr(13) & 'Модуль: ' & MODULE & Chr(13)

MsgBox str
Debug.Print str

On Error Resume Next
Err.Clear
End Function
0
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
18.12.2008, 12:44  [ТС]
ormed: Ведь часто нужно знать просто функцию в которой происходит ошибка

... а потом её тиранить и разбираться что почём.

согласен

но раз уж человек спросил ... трудно было отказать
0
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 8
18.12.2008, 12:57
Совершенно с Вами согласен!
Нужно знать какие, где, как часто ошибки происходят.
Все же строчки не пронумеруешь, но если какой баг глубоко затаился, то в той функции нужно и строчки ВСЕ пронумеровать, я в этом плане, больше всего не люблю ошибку 13 Object required вот здесь нужно знать номер строчки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2008, 12:57
Помогаю со студенческими работами здесь

Правильная обработка ошибок
Здравствуйте. У меня такой вопрос. Программа сама записывает файл по сети. Если сеть выключенна то на том компьюторре на котором работает,...

Обработка ошибок(On error goto)
Хочу сделать небольшой обработчик ошибок для запроса. Тоесть хочу заменить стандартые ошибки на свои Msgbox'ы В общем вот код ...

Обработка ошибок SQL Server'a (+++)
А реально обрабатывать в VB ошибки MS SQL Servera 7.0. Типа раз я выполнил хранимую процедуру, а там типа дублировавние ключа, и...

Обработка ошибок в Visual Basic
Все программисты включая Visual Basic должны создавать программы и для &quot;тупых дурачков&quot;. Подскажите пожалуйста как можно это сделать -...

Обработка ошибок типа "#Н/Д"
Как можно обработать &quot;#Н/Д&quot; из Ехеля в VBS? При любой попытке считать, пишет -несоответствие типа. Пример: Set xlApp =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru