namespace StreamShorts.Library.Media.Audio;

/// <summary>
/// Represents an error that occurs when audio extraction fails.
/// </summary>
public sealed class FailedAudioExtractionException : Exception
{
  /// <summary>
  /// Initializes a new instance of the <see cref="FailedAudioExtractionException"/> class.
  /// </summary>
  public FailedAudioExtractionException() : base()
  {
  }

  /// <summary>
  /// Initializes a new instance of the <see cref="FailedAudioExtractionException"/> class with a specified error message.
  /// </summary>
  /// <param name="message">The error message that explains the reason for the exception.</param>
  public FailedAudioExtractionException(string message) : base(message)
  {
  }

  /// <summary>
  /// Initializes a new instance of the <see cref="FailedAudioExtractionException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
  /// </summary>
  /// <param name="message">The error message that explains the reason for the exception.</param>
  /// <param name="innerException">The exception that is the cause of the current exception.</param>
  public FailedAudioExtractionException(string message, Exception innerException) : base(message, innerException)
  {
  }
}