GError
je standardní mechanizmus hlášení chyb pro kód používající GLib a může na něj být pohlíženo jako na implementaci výjimek v jazyce C.
Libovolný druh selhání za běhu (cokoliv, co není programová chyba) musí být obslouženo vložením parametru GError**
do funkce a před návratem z funkce nastavením vhodného a smysluplného popisu selhání v GError. Programové chyby se naopak pomocí GError obsluhovat nesmí: místo toho použijte assertion a podmíněné testy před a po.
Použití GError byste měli dávat přednost před prostým návratem kódu, protože poskytuje více informací a navíc je podporován všemi nástroji GLib. Například introspekce API bude automaticky detekovat všechny parametry GError, protože je pak umí převést na výjimky v jiných jazycích.
Výpis varování do konzole se nesmí provádět v programovém kódu knihovny. Použijte GError a volající kód jej může propagovat dále, rozhodnout se jej zpracovat nebo se rozhodnout jej vypsat do konzole. V ideálním případě je jediným kódem, který vypisuje do konzole, programový kód nejvyšší úrovně aplikace a ne kód knihovny.
Volání kterékoliv funkce, které přebírá GError**
, by mělo takovýto parametr poskytnout a pak příslušně obsloužit vrácený GError. Je jen velmi málo situací, kdy je přijatelné potenciální chybu ignorovat předáním NULL
do parametru GError**
.
Dokumentace k API knihovny GLib obsahuje uceleného průvodce použitím GError.