Was bedeutet ein bestimmter Fehlercode?

Oftmals kommt man beim Debuggen oder wenn ein Meldungsfenster mit einem Windows Fehlercode aufpoppt, in die Verlegenheit einen Windows Fehlercode nachschlagen zu müssen. Nur wie macht man das am schnellsten? Man könnte zum Beispiel alle Fehlercodes auswendig lernen, ich glaube aber, das wäre doch recht mühsam. Eine andere Möglichkeit wäre, ihn im PSDK nachzuschlagen. Da hatte ich aber immer das Problem, dass ich nie wusste was ich im Index eingeben musste, um zur richtigen Seite zu kommen. Davon aber mal abgesehen, was macht man, wenn das PSDK nicht installiert ist? Gut, man könnte online im MSDN nachschauen. Das ist aber auch umständlich, da man erst einen Browser öffnen, zur MSDN Seite navigieren, den richtigen Suchbegriff eingeben muss und dann muss man noch warten bis die Seiten geladen sind. Ist irgendwie alles nicht so das Wahre.

Aber man ist ja Programmierer und wie ich hier schon erwähnte kann man mit der API-Funktion FormatMessage sich den passenden Text zu einem Fehlercode ausgeben lassen. Also kann man sich ja eben mal schnell ein kleines Programm schreiben, welchen einem den Klartext zu einer Fehlermeldung ausgibt. Was auch schon geschehen ist: ShowErrorMsg. Aber das ist zum einen auch nicht immer zur Hand und zum anderem, muss man das ja auch erstmal starten. Also auch wieder umständlich. Aber ich würde das ganze hier nicht schreiben, wenn es da nicht einen Trick gäbe. ;)

Der Trick

Es gibt nämlich eine komplette Liste der Fehlercodes im System und an diese kommt man recht einfach dran. Und zwar über die NET.EXE, die man normalerweise dazu benutzt, um das Netzwerk und Benutzerkonten zu administrieren. Tippt man in einem Konsolenfenster net helpmsg <errorcode> ein, erhält man den Text zu dem entsprechenden Fehlercode. Gibt man zum Beispiel ein: net helpmsg 5. Lautet die Ausgaben:

Zugriff verweigert


Ein Konsolenfenster ist mit Win + R und cmd <Return> schnell geöffnet und der entsprechende Befehl schnell eingetippt. Kein Suchen im PSDK, kein Warten auf Internetseiten und kein umständliches öffnen des selbst geschriebenen Programmes.

Ich weiß nicht mehr, wo ich das mal her hatte, ob es jetzt Jeffrey Richter oder Keith Brown oder Raymond Chen war. Ich finde es aber doch recht nützlich und hat mir schon das ein um das andere mal bei der Fehlersuche, ob im eigenen Programm oder in einem fremden, geholfen.

2010-12-29T23:44:51 +0100, mail+homepage[at]michael-puff.de