Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание EXE проекта / 25 сообщений из 27, страница 1 из 2
13.02.2007, 17:28
    #34327959
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Как сделать так что бы проект пропускал все ошибки возникающие при работе программы. Писать в программе в каждой процедуре или функции On error resume next или есть что попроще?
...
Рейтинг: 0 / 0
13.02.2007, 17:35
    #34327978
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
писать код без ошибок. лол.
...
Рейтинг: 0 / 0
13.02.2007, 17:37
    #34327991
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Проходящийписать код без ошибок. лол.
что-то мне подсказывало что ответ будет именно таким, но ньюансов очень много всех не учтешь :)
...
Рейтинг: 0 / 0
13.02.2007, 17:46
    #34328036
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Методов "забить на все ошибки", кроме как
Код: plaintext
On Error Resume Next
или писать безошибочный код лично я не знаю.
...
Рейтинг: 0 / 0
13.02.2007, 17:48
    #34328045
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
ПроходящийМетодов "забить на все ошибки", кроме как
Код: plaintext
On Error Resume Next
или писать безошибочный код лично я не знаю.
просто офигеть .....
ошибки нужно обрабатывать, а не пропускать!
...
Рейтинг: 0 / 0
13.02.2007, 17:53
    #34328075
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
не в этом вопрос... я вот тоже никогда даже не задумался над этим... а вот автору надо...
...
Рейтинг: 0 / 0
13.02.2007, 17:59
    #34328099
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
msn13 ПроходящийМетодов "забить на все ошибки", кроме как
Код: plaintext
On Error Resume Next
или писать безошибочный код лично я не знаю.
просто офигеть .....
ошибки нужно обрабатывать, а не пропускать!
Согласен, но времени нет искать ошибки, это все обкатается в процессе
...
Рейтинг: 0 / 0
13.02.2007, 18:15
    #34328152
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
ПроходящийМетодов "забить на все ошибки", кроме как
Код: plaintext
On Error Resume Next
или писать безошибочный код лично я не знаю.
Да вот только этот метод одну-две ошибки пропустит,а потом все равно какая-то возникнет...И программа-таки вылетит...
...
Рейтинг: 0 / 0
13.02.2007, 18:17
    #34328158
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Дмитрий77Да вот только этот метод одну-две ошибки пропустит,а потом все равно какая-то возникнет...И программа-таки вылетит...
Вот в чем и вопрос :)
...
Рейтинг: 0 / 0
13.02.2007, 18:29
    #34328192
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Я думаю, что вопрос можно было бы переформулировать по другому: "Что лучше: кривая программа или программа останавливающаяся на ошибках?"
Если программа будет прятать ошибки, то обкатка затянется до бесконечности. Потому что не известно где возникает ошибка. И при этом пользователь будет думать, что ошибки нет. И продолжать работать.
Ошибки должны быть обработаны в предсказуемых случаях (например, при открытии файла высока вероятность ошибки). А если они возникают в местах где их не должно (не может) быть, это даже хорошо что программа вывалится. Тогда пользователь точно донесет ошибку разработчику.
...
Рейтинг: 0 / 0
14.02.2007, 09:06
    #34329034
Igogo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
элементарно, конечно использовать гоуту моветон, но

sub no_err()
goto 10
<код>
10
end sub
...
Рейтинг: 0 / 0
14.02.2007, 09:25
    #34329083
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
FAndrewЯ думаю, что вопрос можно было бы переформулировать по другому: "Что лучше: кривая программа или программа останавливающаяся на ошибках?"
Если программа будет прятать ошибки, то обкатка затянется до бесконечности. Потому что не известно где возникает ошибка. И при этом пользователь будет думать, что ошибки нет. И продолжать работать.
Ошибки должны быть обработаны в предсказуемых случаях (например, при открытии файла высока вероятность ошибки). А если они возникают в местах где их не должно (не может) быть, это даже хорошо что программа вывалится. Тогда пользователь точно донесет ошибку разработчику.
Все это понятно, ну тогда хотя бы вариант с составлением лога с ошибками, но что бы прога работала, основной код написан без ошибок
...
Рейтинг: 0 / 0
14.02.2007, 11:45
    #34329604
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
FAndrewЯ думаю, что вопрос можно было бы переформулировать по другому: "Что лучше: кривая программа или программа останавливающаяся на ошибках?"
Если программа будет прятать ошибки, то обкатка затянется до бесконечности. Потому что не известно где возникает ошибка. И при этом пользователь будет думать, что ошибки нет. И продолжать работать.
Ошибки должны быть обработаны в предсказуемых случаях (например, при открытии файла высока вероятность ошибки). А если они возникают в местах где их не должно (не может) быть, это даже хорошо что программа вывалится. Тогда пользователь точно донесет ошибку разработчику.
Согласен, я в начале делаю без обработчика потом выявляются ошибки, когда уже доходит более-менее до реальных форм, во всех процедурах функциях добавляю код обработчика ошибок, и при этом записываю код ошибки, описание и форму и процедуру в лог-файл, чтобы легче было отлаживать, и еще использую глобальную переменную, скажем intLastOperationStatus, в которую запишется отрицательное значение при возникновении какой-либо ошибки, и в тех местах где не должно быть никакой ошибок проверяю значение этой переменной
...
Рейтинг: 0 / 0
14.02.2007, 12:05
    #34329717
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Я бы предложил по другому. Все-таки есть места где вероятность ошибки высока и может не зависить от программиста и возникать при определенных условиях (например при обращении к БД может возникнуть ошибка по таймауту или разрыв соединения). И это никак не оттестировать. Здесь нужно пистаь обработку по любому.
Добавления обработчиков ошибок не вызывает большой проблемы. Ведь как говориться кашу маслом не испортишь.
А в обработчиках ошибок в формах я вызываю некую глобальную процедуру, которая и обрабатывает ошибку. И в ней легко рулить что делать: игнорировать, выводить на экран или писать в лог-файл. И легко менять функциональность в зависимости от жизненного цикла программы.
...
Рейтинг: 0 / 0
14.02.2007, 15:07
    #34330640
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
FAndrewЯ бы предложил по другому. Все-таки есть места где вероятность ошибки высока и может не зависить от программиста и возникать при определенных условиях (например при обращении к БД может возникнуть ошибка по таймауту или разрыв соединения). И это никак не оттестировать. Здесь нужно пистаь обработку по любому.
Добавления обработчиков ошибок не вызывает большой проблемы. Ведь как говориться кашу маслом не испортишь.
А в обработчиках ошибок в формах я вызываю некую глобальную процедуру, которая и обрабатывает ошибку. И в ней легко рулить что делать: игнорировать, выводить на экран или писать в лог-файл. И легко менять функциональность в зависимости от жизненного цикла программы.
А примерчик можно?
...
Рейтинг: 0 / 0
14.02.2007, 15:58
    #34330891
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Private Sub MySub

On Error Goto ErrorHandler

Code

Exit Sub
ErrorHandler:
Call HandleError
End Sub

Где-то в глобальном модуле

Public sub HandleError

SaveToLogFile Err.number,Err.Description
ShowOnScreen Err.number,Err.Description
SaveToDB Err.number,Err.Description

End sub

А далее можно комментировать не нужную функциональность или поставить условную компиляцию или еще что-нибудь. Самое главное, это можно сделать в одном месте а не во всем проекте.
...
Рейтинг: 0 / 0
14.02.2007, 16:22
    #34330996
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
[quot FAndrew]Private Sub MySub

On Error Goto ErrorHandler

[quot]

Я так полагаю, что ее все равно нужно ставить там где предпологаються ошибки?
...
Рейтинг: 0 / 0
14.02.2007, 16:24
    #34331006
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
konstsuЯ так полагаю, что ее все равно нужно ставить там где предпологаються ошибки?Это хороший стиль написания кода.
...
Рейтинг: 0 / 0
14.02.2007, 16:25
    #34331009
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Еще вопрос, как с компелировать, так что бы все библиотеки были либо в файле (если это возможно), либо радом с файлом и как проверить работоспособность на разных ОС, только эксперементальным путем?
...
Рейтинг: 0 / 0
14.02.2007, 16:38
    #34331069
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Когда делаешь Setup твоей программы есть возможность включить в состав пакета установки все компоненты.
...
Рейтинг: 0 / 0
14.02.2007, 16:51
    #34331115
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
ПроходящийКогда делаешь Setup твоей программы есть возможность включить в состав пакета установки все компоненты.
Setup можно сделать из самого VB?
...
Рейтинг: 0 / 0
14.02.2007, 17:02
    #34331166
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
Заюзай Package & Deployment Wizard... Входит в состав...
...
Рейтинг: 0 / 0
14.02.2007, 17:16
    #34331203
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
ПроходящийЗаюзай Package & Deployment Wizard... Входит в состав...
В VB6 (sp6)? что-то не вижу?
...
Рейтинг: 0 / 0
14.02.2007, 18:35
    #34331379
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
konstsuЯ так полагаю, что ее все равно нужно ставить там где предпологаються ошибки?
Я добавляю обработку ошибок во все процедуры сложнее 2+2.
...
Рейтинг: 0 / 0
14.02.2007, 18:38
    #34331387
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание EXE проекта
ПроходящийЗаюзай Package & Deployment Wizard... Входит в состав...

Для Microsoft Visual InterDev 6.0 была какая-то приблудина, которая делала Setup'ы. Она, имхо, работает по приличней. чем Package & Deployment Wizard
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание EXE проекта / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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