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

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

17.12.2008, 11:20. Показов 1021. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru