/// <summary> /// Constructor /// </summary> /// <param name="id">Exception id</param> /// <param name="settings">Settings</param> public DbgExceptionIdAndSettings(DbgExceptionId id, DbgExceptionSettings settings) { if (id.Category == null) { throw new ArgumentException(); } if (settings.Conditions == null) { throw new ArgumentException(); } Id = id; Settings = settings; }
/// <summary> /// Constructor /// </summary> /// <param name="definition">Exception definition</param> /// <param name="settings">Exception settings</param> public DbgExceptionSettingsInfo(DbgExceptionDefinition definition, DbgExceptionSettings settings) { if (definition.Id.Category == null) { throw new ArgumentException(); } if (settings.Conditions == null) { throw new ArgumentException(); } Definition = definition; Settings = settings; }
/// <summary> /// Modifies an existing exception. It raises <see cref="ExceptionSettingsModified"/> if the /// new settings are not equal to the current settings. /// </summary> /// <param name="id">Id of existing exception</param> /// <param name="settings">New settings</param> public void Modify(DbgExceptionId id, DbgExceptionSettings settings) => Modify(new[] { new DbgExceptionIdAndSettings(id, settings) });
/// <summary> /// Returns exception settings or false if the exception doesn't exist in the collection /// </summary> /// <param name="id">Id of exception</param> /// <param name="settings">Updated with the exception settings if the method returns true</param> /// <returns></returns> public abstract bool TryGetSettings(DbgExceptionId id, out DbgExceptionSettings settings);