/ / Ak je chyba aplikácie run-time v aplikácii VB6, znamená to, že spracovanie chýb bolo vypnuté? - vb6, spracovanie chýb, chyba pri behu

Ak sa v aplikácii VB6 vyskytne chybová chyba spustenia, znamená to, že došlo k vypnutiu chyby? - vb6, spracovanie chýb, chyba spustenia

Ak sa v aplikácii VB6 vyskytne chyba pri spustení, znamená to, že spracovanie chýb bolo vypnuté pomocou aplikácie On Error Goto 0 výkaz?

Dá sa tento predpoklad urobiť? Alebo existujú iné okolnosti, za ktorých by sa mohla vyskytnúť chyba runtime?

Ak chybu spracoval buď a Resume Next alebo a Goto potom by určite došlo k chybe za behu nie nastať. Pravda alebo lož?

odpovede:

0 pre odpoveď č. 1

Vyskytuje sa to preto, že v rámci vykonávacieho kódu nie je žiadny obslužný program chýb, vrátane volacích procedúr. Nemôžete predpokladať, že On Error Goto 0 bol použitý.

Predpokladám, že máte na mysli nespracovanú chybu chodu. Pretože je nespracovaná, vaša aplikácia „končí neobvykle“.

Koncepty jazyka Visual Basic, hierarchia spracovania chýb, http://msdn.microsoft.com/en-us/library/aa241677(VS.60).aspx

Ak niektorá z nich chybu vyriešila a Pokračovať ďalej alebo Prejsť, potom určite a chyba za behu by sa nevyskytla. Pravdaže alebo False?

Falošné. Niekedy sa v obslužnej rutine chyby vyskytne chyba za behu. Ak to vašej logike spracovania chýb chýba, zobrazí sa vám neošetrená chyba spustenia.


Viac informácií

Stručne, pomocou On Error Goto 0 odstráni akýkoľvek obslužný program chýb (zakáže alebo vypne) v rámci procedúry, kým sa procedúra neskončí alebo kým nepriradíte obslužnú rutinu chýb pomocou jedného z On Error Vyhlásenia. Udalosti používateľského rozhrania bez kódu na spracovanie chýb nebudú mať žiadny obslužný program chýb, kým jeden nedefinujete.

Chyba pri zachytávaní

Počas ladenia môžete určiť „ChybaTrapping „, ktorý spôsobí, že VBE rozbije„ on-all-errors “,„ in-class-module “alebo„ on-unfandled-errors “. Počas behu je správanie„ Na neošetrených chybách “(Runtime Ak knižnica run-time jazyka Visual Basic nenájde žiadny obslužný program chýb, vyskytne sa chyba.). Ak odstraňujete problémy alebo ladíte, skúste nastaviť „Chybné zachytávanie“ na „Prerušiť pri všetkých chybách“. To spôsobí zlomenie VBE v chyba, kde môžete začať ladiť alebo len pokračovať v spustení.


0 pre odpoveď č. 2

Ak sa snažíte vyriešiť problém, jaodporučiť na reprodukciu chybového hlásenia debugger a potom pozastaviť vykonávanie kódu a zistiť, kde k chybe došlo. Skontrolujte zásobník hovorov, pozrite sa na hodnoty premenných a zistite, ako sa chyba deje.

  • Ak je to možné, použite IDE VB6.
  • Ak sa problém pri používaní VB6 IDE nevyskytne použite iný debugger, napríklad Visual Studio 2008 Express Edition, ktoré je zadarmo.

Existuje niekoľko situácií, v ktorých došlo k chybemohlo dôjsť. Môžete napríklad spustiť kódový riadok, ktorý spustí udalosť, ktorá sa má spustiť, a okamžite sa s ňou bude pracovať, a obslužná rutina udalosti môže naraziť na chybu (ak obslužná rutina udalosti nemá spracovanie chýb). Tiež sa niekedy môžu zobraziť chyby pri behu VB6 pri spustení aplikácie pred vykonaním ktoréhokoľvek z vašich kódov.