public static void Main() { Eina.Config.Init(); Efl.Eo.Config.Init(); // Handling Eina_Error with exception try { testFunc(-1, "abc"); Eina.Error.RaiseIfUnhandledException(); } catch (Efl.EflException e) { WriteLine($"Caught error: {e.Message}"); } // Handling Eina_Error directly testFunc(42, null); Eina.Error err = Eina.Error.Get(); if (err != 0) { WriteLine($"Error set: {err.Message}"); } Eina.Error.Clear(); // No error set try { testFunc(42, "abc"); Eina.Error.RaiseIfUnhandledException(); err = Eina.Error.Get(); WriteLine($"Really no error? {err == Eina.Error.NO_ERROR}."); } catch { WriteLine("Unspected error!!!"); } WriteLine("No error message is empty string: \"{0}\"", Eina.Error.NO_ERROR.Message); WriteLine("No error message is empty string: \"{0}\"", Eina.Error.MsgGet(0)); }
private static void testFunc(int n, string s) { if (!RegisteredErrors) { MyErrorNegative = Eina.Error.Register("Negative number"); MyErrorNull = Eina.Error.Register("NULL pointer"); RegisteredErrors = true; } if (n < 0) { Eina.Error.Set(MyErrorNegative); return; } if (s == null) { Eina.Error.Set(MyErrorNull); return; } }
private static Eina.Error read(System.IntPtr obj, System.IntPtr pd, ref Eina.RwSlice rw_slice) { Eina.Log.Debug("function efl_io_reader_read was called"); Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd); if (wrapper != null) { Eina.Error _ret_var = default(Eina.Error); try { _ret_var = ((IReader)wrapper).Read(ref rw_slice); } catch (Exception e) { Eina.Log.Warning($"Callback error: {e.ToString()}"); Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION); } return(_ret_var); } else { return(efl_io_reader_read_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), ref rw_slice)); } }
private static Eina.Error property_bind(System.IntPtr obj, System.IntPtr pd, System.String key, System.String property) { Eina.Log.Debug("function efl_ui_property_bind was called"); Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd); if (wrapper != null) { Eina.Error _ret_var = default(Eina.Error); try { _ret_var = ((IFactory)wrapper).PropertyBind(key, property); } catch (Exception e) { Eina.Log.Warning($"Callback error: {e.ToString()}"); Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION); } return(_ret_var); } else { return(efl_ui_property_bind_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), key, property)); } }
private static Eina.Error seek(System.IntPtr obj, System.IntPtr pd, long offset, Efl.Io.PositionerWhence whence) { Eina.Log.Debug("function efl_io_positioner_seek was called"); Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd); if (wrapper != null) { Eina.Error _ret_var = default(Eina.Error); try { _ret_var = ((IPositionerConcrete)wrapper).Seek(offset, whence); } catch (Exception e) { Eina.Log.Warning($"Callback error: {e.ToString()}"); Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION); } return(_ret_var); } else { return(efl_io_positioner_seek_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), offset, whence)); } }