Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,594
Записей в блоге: 1

Перехват ошибки

12.10.2009, 22:12. Показов 2188. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Еще вопрос, есть программка, короче много объяснять. Нужно чистить папку от файлов. И вот если она пуста, я так понял я сделал правильно...On Error GoTo ERO.
Но все равно выскакивает два MsgBox. Что нормально очистило и что ошибка. Где у меня в коде ошибка?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub Command8_Click()
 
Log Now & "Чистка папки тарифов" & vbCrLf
 
Label6.Caption = " Содержимое папки тарифов"
 
File4.Path = sGetINI(App.Path & "\armops.ini", "Main", "PATHTAR", "None")
 
File4.Visible = True
 
Dim Push As Long
 
Push = MsgBox("Очистить? В версии выше 6,5 этого уже делать не надо!!!", 49, "Вы уверены?")
 
If Push = 1 Then
        
Dim fso As FileSystemObject
 
  Set fso = New Scripting.FileSystemObject
 
  'On Error GoTo Msg
    
  On Error GoTo ERO
  
  fso.DeleteFile "D:\SKSDATA\GOS\Tar\*.DBF"
  'fso.DeleteFile sGetINI(App.Path & "\armops.ini", "Main", "PATHTAR", "None")
 
 
  MsgBox "Папка тарифов очищена"
    
  Else
   
   MsgBox "Отмена операции", 0, "Выбор"
   
ERO: MsgBox "Папка тарифов уже пуста", 0, "Сообщение"
    End If
    File4.Refresh
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2009, 22:12
Ответы с готовыми решениями:

перехват ошибки
как перехватить оошибку? try IdSMTP1.Connect(); sleep(5000); IdSMTP1.Send(IdMessage1); IdSMTP1.Disconnect; ...

Перехват в DBI ошибки
Использую DBI для подключения к базе. Хочу использовать транзакции. Выключаю autoCommit $dbh->{'AutoCommit'}=0; Выключение...

Перехват ошибки от xlsread
Вызывается функция для чтения данных из файла EXCEL = xlsread(FileNameN, 'I(n)'); В случае если в файле нет листа 'I(n)', то функция...

14
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
12.10.2009, 23:52
Цитата Сообщение от DM_AND Посмотреть сообщение
и что ошибка
А какая ошибка выскакивает?
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
13.10.2009, 16:10
попробуй On Error Resume Next
0
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
13.10.2009, 16:43
Какой некст? Надо понять что за ошибка. Если все ошибки игнорить то эта прога когда-нибудь и винду удалит между делом
1
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,594
Записей в блоге: 1
14.10.2009, 13:30  [ТС]
Вот именно, если пропускать будет не очень правильно. А ошибки то ни какой нету, Вы не поняли. После нажатия клавиши есть ошибка или нету, выскакивает сначала сообщение "Папка тарифов очищена", а после "Папка тарифов уже пуста", а если там нету файлов для удаления, то все правильно, выскакивает "Папка тарифов уже пуста". Извините может я плохо описал ситуацию...
0
 Аватар для Abu
1161 / 288 / 23
Регистрация: 28.09.2008
Сообщений: 553
14.10.2009, 22:42
DM_AND, а Exit Sub ставить перед меткой за тебя дядя Бил будет? У тебя при невыполнении условия (т.е. где Else) выполняется сначала строчка с сообщением, а потом следующая с ERO: меткой. Что бы этого не происходило, нужно перед меткой делать выход из процедуры.

И вообще, не хорошо ставить обработку ошибок там, где и так понятно что она (ошибка) будет. Вовсе не обязательно заставлять бедную программу удалять то, чего нету. Тем более, что ты юзаешь fso. Там есть отличный способ получить все файлы в папке, обрати внимание на св-во Files объекта Folder. Проверяй наличие файлов, и удаляй их тока если они там есть.
1
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
14.10.2009, 23:34
А по большому счету для чего такой огород? Удаляйте в лоб не взирая что там есть и в конце всегда говорите что там уже ничего нет
Если там ничего и не было то мы никого не обманываем, а если и было то тоже правду сказали.
0
 Аватар для Abu
1161 / 288 / 23
Регистрация: 28.09.2008
Сообщений: 553
15.10.2009, 00:13
Toxa33rus, я точно не помню как в fso, но по моему если там "ничего и не было", то он ругнётся, и Kill ругнётся, если не найдёт что удалять. Не ругнётся только Api-функция. Ошибки (а если точнее, то исключения) и их номера и описания для того и придуманы, чтоб показать некорректный участок. Ситуёвина - код компилится, но файлы не удаляет. Прожжёный, опытный кодер скорее всего быстро догадался бы проверить путь, но стрёмно представить сколько волос из себя выдернет новичок, перед тем как поймёт, что у него в пути файл прописан как ...\aaa.txt а на деле называется ааа.txt (Ascii(а)=224, а не 97), и что когда он при создании этот файл обзывал у него русская раскладка была включена.

Не по теме:

Я как-то скопипастила код одного из формучан, который что-то спрашивал, и скопипастила функцию из его же вопроса. Помочь хотела. Я убила на простенький код 1,5 часа и чуть не рехнулась. Не сходились результаты вычислений с калькулятором. В итоге оказалось, что половина функции (та что в вопросе) у него была написана на кириллице, а половина на латинице, и в обеих половинах присутствовал x (т.е. в одной икс, а в другой х), а в коде ясен пень везде икс. Ты представить себе не можешь какие перлы мне vb выдавал! :) А всё почему? Потому что Option Explicit отключён! :)

1
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
15.10.2009, 11:12
Цитата Сообщение от Abu Посмотреть сообщение
Toxa33rus, я точно не помню как в fso, но по моему если там "ничего и не было", то он ругнётся, и Kill ругнётся
Само собой, но ошибки игнорировать и делов-то. FSO постоянно ошибки выводит (то файл занят то нет доступа к SystemVolumeInformation), я всегда когда его использую все игнорю.
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,594
Записей в блоге: 1
15.10.2009, 13:04  [ТС]
Цитата Сообщение от Toxa33rus Посмотреть сообщение
Само собой, но ошибки игнорировать и делов-то. FSO постоянно ошибки выводит (то файл занят то нет доступа к SystemVolumeInformation), я всегда когда его использую все игнорю.
Но если все игнорировать, то что будет за программа
0
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
15.10.2009, 20:41
Цитата Сообщение от DM_AND Посмотреть сообщение
Но если все игнорировать, то что будет за программа
А сейчас что за программа?
Простой скрипт по удалению файла.
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,594
Записей в блоге: 1
16.10.2009, 08:17  [ТС]
Цитата Сообщение от Toxa33rus Посмотреть сообщение
А сейчас что за программа?
Простой скрипт по удалению файла.
Это маленький кусочек кода из программы, то чего я сам не смог добиться и просил помощи у Вас, еще раз спасибо всем.
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
16.10.2009, 20:23
Цитата Сообщение от DM_AND Посмотреть сообщение
Это маленький кусочек кода из программы, то чего я сам не смог добиться и просил помощи у Вас, еще раз спасибо всем.
Сам подумай... хочешь узнать что за ошибка. запиши ее код и посмотри ее в инете, если она фатально завершает прогу...

а если при таком коде тебе что - то выводится, поставь после ссылке на обработчик ошибок, то есть после ERO, msgbox err.Number и увидишь код ошибки... а там дело техники
0
 Аватар для Abu
1161 / 288 / 23
Регистрация: 28.09.2008
Сообщений: 553
16.10.2009, 20:32
}{O}{OJI, там не было ошибки, там была обработка ошибки. В смысле исполнялся код обработчика ошибки из-за отсутствия выхода из процедуры. Автор уже разобрался.
1
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,594
Записей в блоге: 1
18.10.2009, 11:52  [ТС]
Цитата Сообщение от Abu Посмотреть сообщение
}{O}{OJI, там не было ошибки, там была обработка ошибки. В смысле исполнялся код обработчика ошибки из-за отсутствия выхода из процедуры. Автор уже разобрался.
Да, Abu права. Многие не поняли, нету ошибки.Отсутствовал конец процедуры. Abu еще раз спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2009, 11:52
Помогаю со студенческими работами здесь

Перехват такой ошибки...
Всем привет. Не подскажите как перехватить такую ошибку:

Перехват ошибки #43004
Добрый вечер. Можете подсказать как обойти такую незадачу... В API Document Manager есть такой метод у коллекции collection.ItemByTitle...

Перехват сообщения Ошибки...
Всем доброго времени суток, не подскажите как перехватить сообщение об ошибке при добавлении записи в БД Access? пробывал примерно...

Перехват ошибки error
Ребят как сделать перехват ошибки чтоб выводило на экран ошибку?? вот Какое условие придумать чтобы ошибку выдавало и работало?

MSSQL 2000 Перехват ошибки FK
Есть две таблицы, записи одной ссылаются на записи другой. При удалени записи во второй таблице (на которую ссылаются), при наличии ссылки...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru