powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработчик ошибок On Error
15 сообщений из 15, страница 1 из 1
Обработчик ошибок On Error
    #37584488
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем.
Когда встречается первая строка с ложным путем к файлу - все отрабатывается как надо...
Когда появляется еще одна такая же запись выполнение скрипта останавливается и выпадает
Runtime Error: 53. File not found - (это я и без него знаю...)
Как я понял причина в том, что счетчик ошибки не сбрасывается, так как я нахожусь внутри процедуры...
Как сделать так, чтобы я его мог сбросить спокойно?

Код: vbnet
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Sub CheckLoggs()
    'Процедура проверки лога
    
    Dim stream1 As Range 'Диапазон от начала списка ниже заголовка до конца списка
    Dim fDateTime As Date 'Параметр дата изменения файла
    Dim fDateTimeDif As Integer 'Значение разницы от текущего времени до даты создания файла
    Dim inx As Integer 'Счетчик для цикла

    Set stream1 = Range("B4").End(xlDown)   'Выбираем список
    Cells(4, 2).Activate
    
    'По скольку дело имеем с количеством ресурсов требуемых для бекапа то
    'конечная строка на 99,9999% должна быть менее 1 миллиона - в виду ограничения инфраструктуры
    If stream1.Row > 1000000 Then
    'Если конечная строка больше миллиона, то скорее всего в файле нет ни одной заполненной строки
        MsgBox ("Нечего искать - введите пути к файлам!")
        Exit Sub
    End If

    
    For inx = 4 To stream1.Row
       
    On Error GoTo FileErrorMarker
        
        fDateTime = FileDateTime(Cells(inx, 2))  'Узнаем дату изменения файла по пути из нашего списка
    
        Cells(inx, 4) = FormatDateTime(fDateTime, vbShortDate) 'Выводим дату создания файла в таблицу /для справки
        Cells(inx, 5) = FormatDateTime(fDateTime, vbShortTime) 'Выводим дату создания файла в таблицу /для справки
    
        'Получаем разницу во времени, преобразованную в минуту
        fDateTimeDif = GetMinutesFromDate((Now - fDateTime)) 'Вычитаем даты
        Cells(inx, 7) = fDateTimeDif 'Разница во времени в минутах
        
        If fDateTimeDif <= Val(Cells(inx, 3)) Then 'Если разница меньше трешхолда - то все ОК. Если больше - то генерировать аварию
            Cells(inx, 6) = "OK"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), False)
        Else
            Cells(inx, 6) = "!!! ALARM !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
        
FileErrorMarker:
        If Cells(inx, 6) = "" Then
            Cells(inx, 6) = "!!! NO FILE !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
    Next inx
End Sub
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584493
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может подскажете какую функция для проверки наличия файла
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584503
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока сделал так - подскажите более разумное решение.

Код: vbnet
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Sub CheckLoggs()
    '&#207;&#240;&#238;&#246;&#229;&#228;&#243;&#240;&#224; &#239;&#240;&#238;&#226;&#229;&#240;&#234;&#232; &#235;&#238;&#227;&#224;
    
    Dim stream1 As Range '&#196;&#232;&#224;&#239;&#224;&#231;&#238;&#237; &#238;&#242; &#237;&#224;&#247;&#224;&#235;&#224; &#241;&#239;&#232;&#241;&#234;&#224; &#237;&#232;&#230;&#229; &#231;&#224;&#227;&#238;&#235;&#238;&#226;&#234;&#224; &#228;&#238; &#234;&#238;&#237;&#246;&#224; &#241;&#239;&#232;&#241;&#234;&#224;
    Dim fDateTime As Date '&#207;&#224;&#240;&#224;&#236;&#229;&#242;&#240; &#228;&#224;&#242;&#224; &#232;&#231;&#236;&#229;&#237;&#229;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224;
    Dim fDateTimeDif As Integer '&#199;&#237;&#224;&#247;&#229;&#237;&#232;&#229; &#240;&#224;&#231;&#237;&#232;&#246;&#251; &#238;&#242; &#242;&#229;&#234;&#243;&#249;&#229;&#227;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232; &#228;&#238; &#228;&#224;&#242;&#251; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224;
    Dim inx As Integer '&#209;&#247;&#229;&#242;&#247;&#232;&#234; &#228;&#235;&#255; &#246;&#232;&#234;&#235;&#224;

    Set stream1 = Range("B4").End(xlDown)   '&#194;&#251;&#225;&#232;&#240;&#224;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234;
    Cells(4, 2).Activate
    
    '&#207;&#238; &#241;&#234;&#238;&#235;&#252;&#234;&#243; &#228;&#229;&#235;&#238; &#232;&#236;&#229;&#229;&#236; &#241; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238;&#236; &#240;&#229;&#241;&#243;&#240;&#241;&#238;&#226; &#242;&#240;&#229;&#225;&#243;&#229;&#236;&#251;&#245; &#228;&#235;&#255; &#225;&#229;&#234;&#224;&#239;&#224; &#242;&#238;
    '&#234;&#238;&#237;&#229;&#247;&#237;&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#237;&#224; 99,9999% &#228;&#238;&#235;&#230;&#237;&#224; &#225;&#251;&#242;&#252; &#236;&#229;&#237;&#229;&#229; 1 &#236;&#232;&#235;&#235;&#232;&#238;&#237;&#224; - &#226; &#226;&#232;&#228;&#243; &#238;&#227;&#240;&#224;&#237;&#232;&#247;&#229;&#237;&#232;&#255; &#232;&#237;&#244;&#240;&#224;&#241;&#242;&#240;&#243;&#234;&#242;&#243;&#240;&#251;
    If stream1.Row > 1000000 Then
    '&#197;&#241;&#235;&#232; &#234;&#238;&#237;&#229;&#247;&#237;&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#225;&#238;&#235;&#252;&#248;&#229; &#236;&#232;&#235;&#235;&#232;&#238;&#237;&#224;, &#242;&#238; &#241;&#234;&#238;&#240;&#229;&#229; &#226;&#241;&#229;&#227;&#238; &#226; &#244;&#224;&#233;&#235;&#229; &#237;&#229;&#242; &#237;&#232; &#238;&#228;&#237;&#238;&#233; &#231;&#224;&#239;&#238;&#235;&#237;&#229;&#237;&#237;&#238;&#233; &#241;&#242;&#240;&#238;&#234;&#232;
        MsgBox ("&#205;&#229;&#247;&#229;&#227;&#238; &#232;&#241;&#234;&#224;&#242;&#252; - &#226;&#226;&#229;&#228;&#232;&#242;&#229; &#239;&#243;&#242;&#232; &#234; &#244;&#224;&#233;&#235;&#224;&#236;!")
        Exit Sub
    End If

    
    For inx = 4 To stream1.Row
       
    If Dir(Cells(inx, 2)) <> "" Then
        
        fDateTime = FileDateTime(Cells(inx, 2))  '&#211;&#231;&#237;&#224;&#229;&#236; &#228;&#224;&#242;&#243; &#232;&#231;&#236;&#229;&#237;&#229;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#239;&#238; &#239;&#243;&#242;&#232; &#232;&#231; &#237;&#224;&#248;&#229;&#227;&#238; &#241;&#239;&#232;&#241;&#234;&#224;
    
        Cells(inx, 4) = FormatDateTime(fDateTime, vbShortDate) '&#194;&#251;&#226;&#238;&#228;&#232;&#236; &#228;&#224;&#242;&#243; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#226; &#242;&#224;&#225;&#235;&#232;&#246;&#243; /&#228;&#235;&#255; &#241;&#239;&#240;&#224;&#226;&#234;&#232;
        Cells(inx, 5) = FormatDateTime(fDateTime, vbShortTime) '&#194;&#251;&#226;&#238;&#228;&#232;&#236; &#228;&#224;&#242;&#243; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#226; &#242;&#224;&#225;&#235;&#232;&#246;&#243; /&#228;&#235;&#255; &#241;&#239;&#240;&#224;&#226;&#234;&#232;
    
        '&#207;&#238;&#235;&#243;&#247;&#224;&#229;&#236; &#240;&#224;&#231;&#237;&#232;&#246;&#243; &#226;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232;, &#239;&#240;&#229;&#238;&#225;&#240;&#224;&#231;&#238;&#226;&#224;&#237;&#237;&#243;&#254; &#226; &#236;&#232;&#237;&#243;&#242;&#243;
        fDateTimeDif = GetMinutesFromDate((Now - fDateTime)) '&#194;&#251;&#247;&#232;&#242;&#224;&#229;&#236; &#228;&#224;&#242;&#251;
        Cells(inx, 7) = fDateTimeDif '&#208;&#224;&#231;&#237;&#232;&#246;&#224; &#226;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232; &#226; &#236;&#232;&#237;&#243;&#242;&#224;&#245;
        
        If fDateTimeDif <= Val(Cells(inx, 3)) Then '&#197;&#241;&#235;&#232; &#240;&#224;&#231;&#237;&#232;&#246;&#224; &#236;&#229;&#237;&#252;&#248;&#229; &#242;&#240;&#229;&#248;&#245;&#238;&#235;&#228;&#224; - &#242;&#238; &#226;&#241;&#229; &#206;&#202;. &#197;&#241;&#235;&#232; &#225;&#238;&#235;&#252;&#248;&#229; - &#242;&#238; &#227;&#229;&#237;&#229;&#240;&#232;&#240;&#238;&#226;&#224;&#242;&#252; &#224;&#226;&#224;&#240;&#232;&#254;
            Cells(inx, 6) = "OK"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), False)
        Else
            Cells(inx, 6) = "!!! ALARM !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
        
    Else
        If Cells(inx, 6) = "" Then
            Cells(inx, 6) = "!!! NO FILE !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
    End If
    Next inx
End Sub
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584507
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока сделал так..
Подскажите более разумное решение...

Код: vbnet
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Sub CheckLoggs()
    '&#207;&#240;&#238;&#246;&#229;&#228;&#243;&#240;&#224; &#239;&#240;&#238;&#226;&#229;&#240;&#234;&#232; &#235;&#238;&#227;&#224;
    
    Dim stream1 As Range '&#196;&#232;&#224;&#239;&#224;&#231;&#238;&#237; &#238;&#242; &#237;&#224;&#247;&#224;&#235;&#224; &#241;&#239;&#232;&#241;&#234;&#224; &#237;&#232;&#230;&#229; &#231;&#224;&#227;&#238;&#235;&#238;&#226;&#234;&#224; &#228;&#238; &#234;&#238;&#237;&#246;&#224; &#241;&#239;&#232;&#241;&#234;&#224;
    Dim fDateTime As Date '&#207;&#224;&#240;&#224;&#236;&#229;&#242;&#240; &#228;&#224;&#242;&#224; &#232;&#231;&#236;&#229;&#237;&#229;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224;
    Dim fDateTimeDif As Integer '&#199;&#237;&#224;&#247;&#229;&#237;&#232;&#229; &#240;&#224;&#231;&#237;&#232;&#246;&#251; &#238;&#242; &#242;&#229;&#234;&#243;&#249;&#229;&#227;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232; &#228;&#238; &#228;&#224;&#242;&#251; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224;
    Dim inx As Integer '&#209;&#247;&#229;&#242;&#247;&#232;&#234; &#228;&#235;&#255; &#246;&#232;&#234;&#235;&#224;

    Set stream1 = Range("B4").End(xlDown)   '&#194;&#251;&#225;&#232;&#240;&#224;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234;
    Cells(4, 2).Activate
    
    '&#207;&#238; &#241;&#234;&#238;&#235;&#252;&#234;&#243; &#228;&#229;&#235;&#238; &#232;&#236;&#229;&#229;&#236; &#241; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238;&#236; &#240;&#229;&#241;&#243;&#240;&#241;&#238;&#226; &#242;&#240;&#229;&#225;&#243;&#229;&#236;&#251;&#245; &#228;&#235;&#255; &#225;&#229;&#234;&#224;&#239;&#224; &#242;&#238;
    '&#234;&#238;&#237;&#229;&#247;&#237;&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#237;&#224; 99,9999% &#228;&#238;&#235;&#230;&#237;&#224; &#225;&#251;&#242;&#252; &#236;&#229;&#237;&#229;&#229; 1 &#236;&#232;&#235;&#235;&#232;&#238;&#237;&#224; - &#226; &#226;&#232;&#228;&#243; &#238;&#227;&#240;&#224;&#237;&#232;&#247;&#229;&#237;&#232;&#255; &#232;&#237;&#244;&#240;&#224;&#241;&#242;&#240;&#243;&#234;&#242;&#243;&#240;&#251;
    If stream1.Row > 1000000 Then
    '&#197;&#241;&#235;&#232; &#234;&#238;&#237;&#229;&#247;&#237;&#224;&#255; &#241;&#242;&#240;&#238;&#234;&#224; &#225;&#238;&#235;&#252;&#248;&#229; &#236;&#232;&#235;&#235;&#232;&#238;&#237;&#224;, &#242;&#238; &#241;&#234;&#238;&#240;&#229;&#229; &#226;&#241;&#229;&#227;&#238; &#226; &#244;&#224;&#233;&#235;&#229; &#237;&#229;&#242; &#237;&#232; &#238;&#228;&#237;&#238;&#233; &#231;&#224;&#239;&#238;&#235;&#237;&#229;&#237;&#237;&#238;&#233; &#241;&#242;&#240;&#238;&#234;&#232;
        MsgBox ("&#205;&#229;&#247;&#229;&#227;&#238; &#232;&#241;&#234;&#224;&#242;&#252; - &#226;&#226;&#229;&#228;&#232;&#242;&#229; &#239;&#243;&#242;&#232; &#234; &#244;&#224;&#233;&#235;&#224;&#236;!")
        Exit Sub
    End If

    
    For inx = 4 To stream1.Row
       
    If Dir(Cells(inx, 2)) <> "" Then
        
        fDateTime = FileDateTime(Cells(inx, 2))  '&#211;&#231;&#237;&#224;&#229;&#236; &#228;&#224;&#242;&#243; &#232;&#231;&#236;&#229;&#237;&#229;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#239;&#238; &#239;&#243;&#242;&#232; &#232;&#231; &#237;&#224;&#248;&#229;&#227;&#238; &#241;&#239;&#232;&#241;&#234;&#224;
    
        Cells(inx, 4) = FormatDateTime(fDateTime, vbShortDate) '&#194;&#251;&#226;&#238;&#228;&#232;&#236; &#228;&#224;&#242;&#243; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#226; &#242;&#224;&#225;&#235;&#232;&#246;&#243; /&#228;&#235;&#255; &#241;&#239;&#240;&#224;&#226;&#234;&#232;
        Cells(inx, 5) = FormatDateTime(fDateTime, vbShortTime) '&#194;&#251;&#226;&#238;&#228;&#232;&#236; &#228;&#224;&#242;&#243; &#241;&#238;&#231;&#228;&#224;&#237;&#232;&#255; &#244;&#224;&#233;&#235;&#224; &#226; &#242;&#224;&#225;&#235;&#232;&#246;&#243; /&#228;&#235;&#255; &#241;&#239;&#240;&#224;&#226;&#234;&#232;
    
        '&#207;&#238;&#235;&#243;&#247;&#224;&#229;&#236; &#240;&#224;&#231;&#237;&#232;&#246;&#243; &#226;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232;, &#239;&#240;&#229;&#238;&#225;&#240;&#224;&#231;&#238;&#226;&#224;&#237;&#237;&#243;&#254; &#226; &#236;&#232;&#237;&#243;&#242;&#243;
        fDateTimeDif = GetMinutesFromDate((Now - fDateTime)) '&#194;&#251;&#247;&#232;&#242;&#224;&#229;&#236; &#228;&#224;&#242;&#251;
        Cells(inx, 7) = fDateTimeDif '&#208;&#224;&#231;&#237;&#232;&#246;&#224; &#226;&#238; &#226;&#240;&#229;&#236;&#229;&#237;&#232; &#226; &#236;&#232;&#237;&#243;&#242;&#224;&#245;
        
        If fDateTimeDif <= Val(Cells(inx, 3)) Then '&#197;&#241;&#235;&#232; &#240;&#224;&#231;&#237;&#232;&#246;&#224; &#236;&#229;&#237;&#252;&#248;&#229; &#242;&#240;&#229;&#248;&#245;&#238;&#235;&#228;&#224; - &#242;&#238; &#226;&#241;&#229; &#206;&#202;. &#197;&#241;&#235;&#232; &#225;&#238;&#235;&#252;&#248;&#229; - &#242;&#238; &#227;&#229;&#237;&#229;&#240;&#232;&#240;&#238;&#226;&#224;&#242;&#252; &#224;&#226;&#224;&#240;&#232;&#254;
            Cells(inx, 6) = "OK"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), False)
        Else
            Cells(inx, 6) = "!!! ALARM !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
        
    Else
        If Cells(inx, 6) = "" Then
            Cells(inx, 6) = "!!! NO FILE !!!"
            Call MarkAnError(Range(Cells(inx, 2), Cells(inx, 6)), True)
        End If
    End If
    Next inx
End Sub
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584579
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p0oh!,

Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584712
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О как. Спасибо.
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584718
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prop0oh!,

Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь

не обязательно, всё зависит от логики обработчика и от структуры вызовов
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584758
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneShocker.Prop0oh!,

Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь

не обязательно, всё зависит от логики обработчика и от структуры вызовов

ну хорошо, дополню - "...либо выходом из процедуры."

нельзя циклически вызывать ошибку, не сделав Resume
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584766
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно принудительно сделать Err.Clear или вызвать свой Err.Raise или On Error Resume Next > On Error Goto 0 и тд и тп GOTO тже никто не отменял . вариантов полно, всё зависит от логики, которую нужно реализовать
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584790
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, можно поподробнее про конструкцию с принудительным сбросом.


Логика такая:

При ошибке следующего блока:
[блок]
выполнить действие:
[действие]
и сбросить ошибку.
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37584824
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p0oh!,

в твоем случае лучше так, наверное
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
On Error Resume Next
'команда с ошибкой
If Err=0 Then
  On Error Goto 0
  'команды в случае отсутствия ошибки
End If
On Error Goto 0
Next

тогда не надо заморачиваться с обработчиком
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37588436
AlexCriv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
p0oh!,
прощще всего не изменяя алгоритма выделить команду с ошибкой, то бишь FileDateTime(Cells(inx, 2)
в отдельную фнкцию, которая при отсутствии файла будет возвращать пустую строку, а поскольку обработчик ошибки будет в другой функции проблемы со вторым вызовом исчезнут.
ну и Err.Clear в любом случае не помешает...
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37619323
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37619336
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще нигде не описанный On Error Goto -1, который отменяет текущую метку как обработчик ошибки и в ней можно делать новый on error и генерить новую ошибку.
...
Рейтинг: 0 / 0
Обработчик ошибок On Error
    #37619430
p0oh!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
On Error Resume Next
If Err.Number > 0 then
'Выполнить какие то действия
Err = 0
Else

end if
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработчик ошибок On Error
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]