Hi! I've actually managed to implement GError as exception! However, this required some extensions/changes in g-wrap. I've not yet done real testing, but I thought I'll post my code for review. Attached is a patch against guile-gobject (as in CVS) and against g-wrap 1.3.4. You now can do the following: ,---- | guile> (use-modules (gnome glib)) | guile> (g-io-channel-new-file "/noexist" "r") | | Backtrace: | In current input: | 2: 0* [g-io-channel-new-file "/noexist" "r"] | | :2:1: In procedure g-io-channel-new-file in expression (g-io-channel-new-file "/noexist" "r"): | :2:1: unhandled-exception: g-error 59 4 "No such file or directory" | ABORT: (misc-error) | guile> `----