libxml2 Fehlerbehandlung

Schreibe ich einen kleinen wrapper für libxml2 in C++, und ich bin versucht, herauszufinden, wie Fehler zu behandeln. Jetzt lassen Sie uns sagen, ich will nur drucken Sie Sie aus. Hier ist, was ich habe, zu präsentieren:

Mein Fehler-handling-Funktion:

void foo(void *ctx, const char *msg, ...) {
  cout << msg << endl;
  return;
}

Initialisiert wie diese:

xmlGenericErrorFunc handler = (xmlGenericErrorFunc)foo;
initGenericErrorDefaultFunc(&handler);

Allerdings, wenn ich parse eine schlechte XPath, bekomme ich diese Ausgabe:

%s

Ohne die error-handling-code, bekomme ich diese:

XPath-Fehler : Ungültiger Ausdruck 
//.@foobar 
^ 

Offensichtlich irgendwann mein Fehlerbehandlung wird mehr tun, als Sie einfach drucken Sie die Fehlermeldung (es wird protokolliert, um eine Datenbank oder so etwas), aber jetzt - wie kann ich erreichen, dass Fehler-string?

Schreibe einen Kommentar