Hibakezelés VB6

Hibakezelés VB6
2004-08-21T23:44:22+02:00
2004-08-22T01:10:23+02:00
2022-07-21T20:43:49+02:00
Lambda
Sziasztok!

A kérdésem az lenne, hogy ki lehet kapcsolni valamivel a vb hibajelentését? Hasonlóra gondolok, mint a pascalban az {i} direktíva. A lényeg, hogy ne dögöljön meg a program hiba esetén, hanem pl hagyja ki az utasítást és folytassa a többivel. Hallottam egy On Error... utasításról, de nem tudom hogyan kell használni, mikor működik és mikor nem, sajnos msdn-em épp nincs és egy hálózati hiba miatt a neten lévőt sem tudom jelenleg elérni ezért megköszönném ha valaki leírná hogy működik esetleg idemásolná az msdn-ből. Előre is kösz!
Mutasd a teljes hozzászólást!
Az IDE-ben: Tools->Options->General->Error Trappingal befolyásolhatod a viselkedését.
A programban:
On Error Goto 0 ' Törli a hibakezelést
On Error Goto Cimke ' Hiba esetén a Cimkére ugrik.
A Cimkétöl így térhetsz vissza:
Resume, Resume Next, Resume Cimke2

On Error Resume Next ' Simán továbblép a következő utasításra

Ha hiba következik be, akkor az Err objektum vizsgálatával tudhatod meg az okát. Ekkor az Err.Number<>0.A hibaüzenet szövege elérhető az Err.Description-nal. Érdemes utána törölni a hibát Err.Clear-ral. Ha nem teszed, akkor az újabb hiba már kiakasztja a progit.
Mutasd a teljes hozzászólást!


  • On Error Resume Next

    Ha ezt beilleszted bármilyen esemény vagy eljárás elejére akkor ha hiba lép fel közben nem áll le a futás, hanem a következő kódsorra lép. Persze ez nem jelenti azt, hogy minden rendben van, ha le is akarod kezelni a hibát akkor inkább

    On Error GoTo AddErr kódjaid Exit Sub AddErr: hibakezelés kódja
    Mutasd a teljes hozzászólást!
  • Az IDE-ben: Tools->Options->General->Error Trappingal befolyásolhatod a viselkedését.
    A programban:
    On Error Goto 0 ' Törli a hibakezelést
    On Error Goto Cimke ' Hiba esetén a Cimkére ugrik.
    A Cimkétöl így térhetsz vissza:
    Resume, Resume Next, Resume Cimke2

    On Error Resume Next ' Simán továbblép a következő utasításra

    Ha hiba következik be, akkor az Err objektum vizsgálatával tudhatod meg az okát. Ekkor az Err.Number<>0.A hibaüzenet szövege elérhető az Err.Description-nal. Érdemes utána törölni a hibát Err.Clear-ral. Ha nem teszed, akkor az újabb hiba már kiakasztja a progit.
    Mutasd a teljes hozzászólást!
  • Mindketten jót írtatok, tibuD a tied részletesebb volt, de kösz mindkettőtöknek a gyors választ ilyen későn :)
    Mutasd a teljes hozzászólást!
  • Ezt elfelejtettem:
    Err.Raise 6 ' Overflow (1-512 Vb, 513-65535 UserDef hiba) 'Pl. Err.Raise 513, "Sub Izé","Nagyon súlyos hiba"
    Ezt ugyanúgy kezeli le a Vb, mint ahogy az "igazi" hibákat.

    Nem későn, hanem korán van :)
    Mutasd a teljes hozzászólást!
  • Igaz korán :) Köszönöm a kiegészítést a következő kérdésem az lett volna, hogy ilyet lehet-e :))
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd