1505 / 475 / 56
Регистрация: 10.04.2009
Сообщений: 7,977
1

If Err.Number Then GoTo

13.12.2010, 20:44. Показов 4493. Ответов 9
Метки нет (Все метки)

А как, в начале процедуры, поставить условие, если где - нибудь в процедуре произошла ошибка, тогда ...???????
Ведь везде же по коду не натыкаешь строку If Err.Number Then GoTo Произошла_ошибка
Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2010, 20:44
Ответы с готовыми решениями:

Что не так с ASPError? err.Number() всегда равен нулю
Всем привет! Народ, помогите, какие ошибки не делал - err.Number() всегда равен нулю try {...

var i; ... try { i = Sqr (i); } catch (err) { WScript.echo ("Negative number " + i); }
Мужики, ногами не бейте, поскольку я в jscript новичок. Действую по аналогии с java. Итак, надо...

Int number = 2; Console.WriteLine(++number - number-- * ++number); Выводит -6; Как ?
Знающие, объясните, пожалуйста. Каким чудом тут получается -6 ? O_o int number = 2; ...

Fatal error - Invalid parameter number: number of bound variables does not match number of tokens'
$pass = md5($_POST); $email = $_POST; $login = $_POST; $sex = $_POST;...

9
Заблокирован
13.12.2010, 21:06 2
Ципихович Эндрю,
плохо понял, вот это в начале процедуры:
Visual Basic
1
2
3
4
5
6
Sub m_1()
On Error Resume Next
End Sub
Sub m_2()
On Error GoTo metka
End Sub
0
1505 / 475 / 56
Регистрация: 10.04.2009
Сообщений: 7,977
13.12.2010, 21:21  [ТС] 3
В начале процедуры ставим
On Error Resume Next 'продолжать код в случае ошибки
PureBasic
1
2
3
4
5
6
7
8
9
10
11
........
On Error GoTo metka
........
On Error GoTo metka
........
On Error GoTo metka
........
On Error GoTo metka
........
On Error GoTo metka
metka:
.......... - это строки кода
Бред же после каждой строки ставить строку On Error GoTo metka
Разве не так
0
Заблокирован
13.12.2010, 21:48 4
Ципихович Эндрю,
я плохо сейчас понимаю, в чём собственно проблема.
0
1505 / 475 / 56
Регистрация: 10.04.2009
Сообщений: 7,977
13.12.2010, 21:56  [ТС] 5
Все ошибки ВБА предусмотреть тяжело
Вот одну не предусмотрел, и вылезет форма с кнопками Энд Деуг Хелп, чтобы этой формы пользовательникогда не увидел надо после каждой строки поставить строку ON ERROR GOTO metka
Но это же бред, один раз нельзя???
0
Заблокирован
13.12.2010, 22:00 6
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Вот одну не предусмотрел
а как же ты предлагаешь пользоваться программой, с ошибкой что ли? Чтобы все ошибки пролетели нужно поставить:
Visual Basic
1
On Error Resume Next
Я у одного купил макрос, когда ещё совсем не знал VBA. Так он тоже там поставил:
Visual Basic
1
On Error Resume Next
Соответственно у меня могла работа неправильно идти.

Visual Basic
1
On Error Resume Next
должна обрабатывать не случайные ошибки, а запланированные.
0
1505 / 475 / 56
Регистрация: 10.04.2009
Сообщений: 7,977
13.12.2010, 22:15  [ТС] 7
Про эту: On Error Resume Next строку согласен, тогда получается:

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
On Error Resume Next 
 
........
ON ERROR GOTO metka
........
ON ERROR GOTO metka
........
ON ERROR GOTO metka
........
ON ERROR GOTO metka
........
ON ERROR GOTO metka
metka:
Лишковато???, бред
0
Заблокирован
13.12.2010, 22:17 8
Ципихович Эндрю,
остальные не нужны.
0
Частенько бываю
749 / 330 / 42
Регистрация: 20.06.2007
Сообщений: 854
14.12.2010, 07:24 9
Надо так:
Visual Basic
1
2
3
4
5
6
7
Sub ErrCatcher()
On Error GoTo ErrHandler
'...Do SMTH
Exit Sub
ErrHandler:
Debug.Print Err.Number
End Sub
0
1505 / 475 / 56
Регистрация: 10.04.2009
Сообщений: 7,977
14.12.2010, 08:05  [ТС] 10
Всем спасибо вопрос я задал глупый, и ответ на него знал, пользовался
Но вчера меня осенило его проверить, на каком примере я не помню, и руки опустились
Решил спросить
Сейчас проверил, работает
PureBasic
1
2
3
4
5
6
7
8
9
10
11
'вот пример открываем чистый документ Ворда
'в нём таблиц нет, пишем строку
'Значение = ActiveDocument.Tables(1).Cell(u, 1).Range.Text
'она естественно выдаст: ошибка 5941 запрашиваемый номер семейства не существует
'ставим строку
On Error GoTo ErrHandler
Значение = ActiveDocument.Tables(1).Cell(u, 1).Range.Text
А = 0
Exit Sub
ErrHandler:
Debug.Print Err.Number
Вопрос решён
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2010, 08:05
Помогаю со студенческими работами здесь

Invalid parameter number: number of bound variables does not match number of tokens
запрос $conn = connect_to_db(); $stmt = $conn->prepare("INSERT INTO brandaccounts...

Invalid parameter number: number of bound variables does not match number of tokens
Не могу решить ошибку: Invalid parameter number: number of bound variables does not match number...

Срабатывает if(ERR) после (if !ERR)
Использую сторонний модуль, который возвращает ответ по API. Обычно всё работало хорошо, но...

Что значит эта строка return number == 1 ? 1 : (Foo(number - 1) + Foo(number - 2); ?
return number == 1 ? 1 : (Foo(number - 1) + Foo(number - 2));


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru