Office Guru

Néhány gondolat a nevezetes 400-as hibaüzenetről

2017. március 18. - Office Guru

Alapvetően ha maguknak az Office programjainak a hibaüzenetei nem is igazán szoktak mindig sokat elárulni a hiba természetéről, addig alapesetben azért a Visual Basicben valamennyivel könnyebb dolgunk van, hiszen az esetek jelentős részében legalább egy általános üzenetet kapunk, amely üzenetablak Debug gombjának lenyomásával a problémás sort is be tudjuk azonosítani. Lásd például ezt a hírhedt Excel-hibaüzenetet:

error2.pngÉs ez pedig a másik oldal lenne, két VBA-hibaüzenettel:

error3.png

error4.jpgPersze itt most azért eléggé általánosítottam, hiszen akár fordított felállásban is tudtam volna hibaüzeneteket hozni, VBA esetében például mindenképpen a nehezen megfejthető hibaüzenetek listáján előkelő helyen szerepelne a hírhedt 400-as hiba:

error1.pngNem megfejthetetlen, az nem kérdés, de a megszokottól kicsit eltérően itt nem kapunk segítséget első körben, magunknak kell utánajárni a problémát okozó sornak. Leggyakrabban egyébként ilyet akkor láthatunk, ha a kódunkban valami olyasmire hivatkozunk, ami (már) nem létezik - például egy nem létező munkafüzetre vagy olyan változót akarunk mondjuk használni, amit nem deklaráltunk stb. (tehát nagyjából egy Application-defined or object-defined errornak feleltethető meg). Viszont a megoldás mindenképpen csak a manuális soronkénti ellenőrzés lehet, hiszen nem tudhatuk hol bújik meg a téves hivatkozás - bár azt azért ki tudjuk deríteni, hogy pontosan milyen hibánk van.

Ehhez nem kell mást tennünk, mint az adott kód változóinak deklarálása után beszúrni a következő sort:

On Error GoTo Errorcatch (vagy akár Errortrap, errorcheck és így tovább)

Majd az End Sub lezáró sor elé a következőt behelyezni:

Exit Sub
Errorcatch: MsgBox Err.Description

Így a 400-as hiba helyett valamivel több információt már be tudunk gyűjteni a problémáról egy felugró üzenetből és ha már tudjuk, hogy merrefelé keresgéljünk, akkor a beazonosítás is könnyebb lehet breakpointok beszúrásával vagy a sorok lépésenkénti futtatásával. De szívesen fogadok kommentben észrevételeket ennek a hibaüzenetnek a történetéről (az tény, hogy már a 97-es Excelben is elő tudtuk idézni), hiszen a fentiekben csak roppant általános jellemzőket foglaltam össze róla.

A bejegyzés trackback címe:

https://officeguru.blog.hu/api/trackback/id/tr8312349783

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása