// GException.cs : GError handling // // Authors: Rachel Hestilow // // (c) 2002 Rachel Hestilow namespace GLib { using System; using System.Runtime.InteropServices; public class GException : Exception { IntPtr errptr; public GException (IntPtr errptr) : base () { this.errptr = errptr; } [DllImport("glibsharpglue")] static extern IntPtr gtksharp_error_get_message (IntPtr errptr); public override string Message { get { return Marshal.PtrToStringAnsi (gtksharp_error_get_message (errptr)); } } [DllImport("libglib-2.0-0.dll")] static extern void g_clear_error (ref IntPtr errptr); ~GException () { g_clear_error (ref errptr); } } }