/// <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> /// 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> /// Constructor /// </summary> /// <param name="id">Exception id</param> /// <param name="flags">Flags</param> public DbgExceptionDefinition(DbgExceptionId id, DbgExceptionDefinitionFlags flags) : this(id, flags, null) { }
/// <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);
/// <summary> /// Returns the exception definition if it exists /// </summary> /// <param name="id">Exception id</param> /// <param name="definition">Updated with the exception definition if the method returns true</param> /// <returns></returns> public abstract bool TryGetDefinition(DbgExceptionId id, out DbgExceptionDefinition definition);
/// <summary> /// Returns exception settings. If the exception doesn't exist in the collection, the default exception settings is returned /// </summary> /// <param name="id">Id of exception</param> /// <returns></returns> public abstract DbgExceptionSettings GetSettings(DbgExceptionId id);