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

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.12.2004 (Чт) 18:37

tyomitch писал(а):
Ruslan Demidow писал(а):
tyomitch писал(а):А аддин не помню :-( Но ты правильно понял, о чём идёт речь? Он "препроцессит" код, добавляя во все функции свои обработчики.

Да я понял. Мысль у меня такая - бетатестерам разослать релиз со встроенным глобальным обработчиком, они отошлют мне явные и неявные баги. Я их исправлю и выдам на горА релиз уже без обработчика (если такое возможно конечно же). :)

Если надо, дам исходники своего аддина для похожей цели (расставления обработчиков во все процедуры, передающих в глобальный обработчик имя процедуры, в которой произошла ошибка, и Call Stack). Туда будет несложно дописать и вывод значений переменных. Выкладывать?

Давай. :)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.12.2004 (Чт) 18:39

xfolder писал(а):
marvan писал(а):VB Watch Protector
Программа позволяет добавить в код VB проекта процедуры обработки ошибок. Куча способов.
В первом споcобе, при возникновении ошибки программа предложит прервать выполнение, игнорировать ошибку, попробовать ещё раз или послать отчёт с детальной информацией разработчику. В этом отчёте указывается информация об ошибке, значения переменных и свойства объектов, снимок экрана, информация о пользователе и о системе.
Во втором программа создаёт zip файл, содержащий информацию об ошибке, добавляет информацию в лог файл событий NT и при возможности отправляет эту информацию по почте. При этом пользователю об ошибке не сообщается.
и.т.д.


дерьмо прога

у меня был sub где всего одна строка так VB watch вставил 20 своих строк

после ее работы код совсем нечитаеммый

А откат сделать можно (кроме сохранения копии проекта)?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.12.2004 (Пт) 12:18

Ruslan Demidow писал(а):
tyomitch писал(а):Выкладывать?

Давай. :)

Вот. Писал давно, что конкретно делает - не помню ;-)
Но надеюсь, ты разберёшься :-D


Ещё, кстати, бонус обнаружил в той же папке - собственноручно выдранную из msvbvm таблицу перевода HRESULT в Err.Number, может поможет кому-то :-)
Код: Выделить всё
80004001   E_NOTIMPL            32768        Application-defined or object-defined error
80004002   E_NOINTERFACE        430          Class does not support Automation or does not support expected interface
80004004   E_ABORT              287          Application-defined or object-defined error
80020001   DISP_E_UNKNOWNINTERFACE            438          Object doesn't support this property or method
80020003   DISP_E_MEMBERNOTFOUND              438          Object doesn't support this property or method
80020004   DISP_E_PARAMNOTFOUND               448          Named argument not found
80020005   DISP_E_TYPEMISMATCH  13           Type mismatch
80020006   DISP_E_UNKNOWNNAME   438          Object doesn't support this property or method
80020007   DISP_E_NONAMEDARGS   446          Object doesn't support named arguments
80020008   DISP_E_BADVARTYPE    458          Variable uses an Automation type not supported in Visual Basic
8002000A   DISP_E_OVERFLOW      6            Overflow
8002000B   DISP_E_BADINDEX      9            Subscript out of range
8002000C   DISP_E_UNKNOWNLCID   447          Object doesn't support current locale setting
8002000D   DISP_E_ARRAYISLOCKED               10           This array is fixed or temporarily locked
8002000E   DISP_E_BADPARAMCOUNT               450          Wrong number of arguments or invalid property assignment
8002000F   DISP_E_PARAMNOTOPTIONAL            449          Argument not optional
80020011   DISP_E_NOTACOLLECTION              451          Property let procedure not defined and property get procedure did not return an object
80020012   DISP_E_DIVBYZERO     11           Division by zero
80028016   TYPE_E_BUFFERTOOSMALL              32790        Application-defined or object-defined error
80028017   TYPE_E_FIELDNOTFOUND               461          Method or data member not found
80028018   TYPE_E_INVDATAREAD   32792        Application-defined or object-defined error
80028019   TYPE_E_UNSUPFORMAT   32793        Application-defined or object-defined error
8002801C   TYPE_E_REGISTRYACCESS              32796        Application-defined or object-defined error
8002801D   TYPE_E_LIBNOTREGISTERED            32797        Application-defined or object-defined error
80028027   TYPE_E_UNDEFINEDTYPE               32807        Application-defined or object-defined error
80028028   TYPE_E_QUALIFIEDNAMEDISALLOWED     32808        Application-defined or object-defined error
80028029   TYPE_E_INVALIDSTATE  32809        Application-defined or object-defined error
8002802A   TYPE_E_WRONGTYPEKIND               32810        Application-defined or object-defined error
8002802B   TYPE_E_ELEMENTNOTFOUND             32811        Application-defined or object-defined error
8002802C   TYPE_E_AMBIGUOUSNAME               32812        Application-defined or object-defined error
8002802D   TYPE_E_NAMECONFLICT  32813        Application-defined or object-defined error
8002802E   TYPE_E_UNKNOWNLCID   32814        Application-defined or object-defined error
8002802F   TYPE_E_DLLFUNCTIONNOTFOUND         453          Specified DLL function not found
800288BD   TYPE_E_BADMODULEKIND               35005        Application-defined or object-defined error
800288C5   TYPE_E_SIZETOOBIG    35013        Application-defined or object-defined error
80028CA0   TYPE_E_TYPEMISMATCH  13           Type mismatch
80028CA1   TYPE_E_OUTOFBOUNDS   9            Subscript out of range
80028CA2   TYPE_E_IOERROR       57           Device I/O error
80028CA3   TYPE_E_CANTCREATETMPFILE           322          Can't create necessary temporary file
80029C4A   TYPE_E_CANTLOADLIBRARY             48           Error in loading DLL
80029C83   TYPE_E_INCONSISTENTPROPFUNCS       40067        Application-defined or object-defined error
80029C84   TYPE_E_CIRCULARTYPE  40068        Application-defined or object-defined error
80030001   STG_E_INVALIDFUNCTION              32774        Application-defined or object-defined error
80030002   STG_E_FILENOTFOUND   53           File not found
80030003   STG_E_PATHNOTFOUND   76           Path not found
80030004   STG_E_TOOMANYOPENFILES             67           Too many files
80030005   STG_E_ACCESSDENIED   70           Permission denied
80030006   STG_E_INVALIDHANDLE  32772        Application-defined or object-defined error
80030008   STG_E_INSUFFICIENTMEMORY           7            Out of memory
80030012   STG_E_NOMOREFILES    67           Too many files
80030013   STG_E_DISKISWRITEPROTECTED         70           Permission denied
80030019   STG_E_SEEKERROR      32771        Application-defined or object-defined error
8003001D   STG_E_WRITEFAULT     32773        Application-defined or object-defined error
8003001E   STG_E_READFAULT      32772        Application-defined or object-defined error
80030020   STG_E_SHAREVIOLATION               75           Path/File access error
80030021   STG_E_LOCKVIOLATION  70           Permission denied
80030050   STG_E_FILEALREADYEXISTS            58           File already exists
80030070   STG_E_MEDIUMFULL     61           Disk full
800300FB   STG_E_INVALIDHEADER  32792        Application-defined or object-defined error
800300FC   STG_E_INVALIDNAME    53           File not found
800300FD   STG_E_UNKNOWN        32792        Application-defined or object-defined error
800300FE   STG_E_UNIMPLEMENTEDFUNCTION        32768        Application-defined or object-defined error
80030100   STG_E_INUSE          70           Permission denied
80030101   STG_E_NOTCURRENT     70           Permission denied
80030102   STG_E_REVERTED       32773        Application-defined or object-defined error
80030103   STG_E_CANTSAVE       57           Device I/O error
80030104   STG_E_OLDFORMAT      32793        Application-defined or object-defined error
80030105   STG_E_OLDDLL         32793        Application-defined or object-defined error
80030106   STG_E_SHAREREQUIRED  32789        Application-defined or object-defined error
80030107   STG_E_NOTFILEBASEDSTORAGE          32793        Application-defined or object-defined error
80030108   STG_E_EXTANTMARSHALLINGS           32793        Application-defined or object-defined error
80040112   CLASS_E_NOTLICENSED  429          ActiveX component can't create object
80040154   REGDB_E_CLASSNOTREG  429          ActiveX component can't create object
800401E3   MK_E_UNAVAILABLE     429          ActiveX component can't create object
800401E6   MK_E_INVALIDEXTENSION              432          File name or class name not found during Automation operation
800401EA   MK_E_CANTOPENFILE    432          File name or class name not found during Automation operation
800401F3   CO_E_CLASSSTRING     429          ActiveX component can't create object
800401F5   CO_E_APPNOTFOUND     429          ActiveX component can't create object
800401FE   CO_E_APPDIDNTREG     429          ActiveX component can't create object
80070005   E_ACCESSDENIED       70           Permission denied
8007000E   E_OUTOFMEMORY        7            Out of memory
80070057   E_INVALIDARG         5            Invalid procedure call or argument
800706BA       462          The remote server machine does not exist or is unavailable
80080005   CO_E_SERVER_EXEC_FAILURE           429          ActiveX component can't create object
FFFFFFFF       440          Automation error
Вложения
ErrorAddin.rar
(14.57 Кб) Скачиваний: 246
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.12.2004 (Вс) 19:49

Ruslan, я таки-нашёл тот чудо-аддин, о котором говорил :!: :!:
Называется HuntERR, лежит на http://www.urfinjus.com/UJv3/prodvb6/hunterr.aspx
Изображение

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 26.12.2004 (Вс) 22:01

tyomitch писал(а):Ruslan, я таки-нашёл тот чудо-аддин, о котором говорил :!: :!:
Называется HuntERR, лежит на http://www.urfinjus.com/UJv3/prodvb6/hunterr.aspx
Артём, СПАСИБО!!! :)
Скачал, буду смотреть, пробовать.
Ещё раз спасибо. ;)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

    TopList