jellyfin/Jellyfin.Drawing.Skia/SkiaCodecException.cs

49 lines
1.8 KiB
C#
Raw Normal View History

2019-12-13 13:17:05 -07:00
using System.Diagnostics.CodeAnalysis;
2019-09-14 21:27:42 -07:00
using System.Globalization;
using SkiaSharp;
namespace Jellyfin.Drawing.Skia
{
/// <summary>
/// Represents errors that occur during interaction with Skia codecs.
/// </summary>
2019-12-13 13:17:05 -07:00
[SuppressMessage("Design", "CA1032:Implement standard exception constructors", Justification = "A custom property, CodecResult, is required when creating this exception type.")]
2019-09-14 21:27:42 -07:00
public class SkiaCodecException : SkiaException
{
/// <summary>
2019-12-13 13:17:05 -07:00
/// Returns the non-successful codec result returned by Skia.
2019-09-14 21:27:42 -07:00
/// </summary>
2019-12-13 13:17:05 -07:00
/// <value>The non-successful codec result returned by Skia.</value>
2019-09-14 21:27:42 -07:00
public SKCodecResult CodecResult { get; }
/// <summary>
/// Initializes a new instance of the <see cref="SkiaCodecException" /> class.
/// </summary>
2019-12-13 13:17:05 -07:00
/// <param name="result">The non-successful codec result returned by Skia.</param>
2019-09-14 21:27:42 -07:00
public SkiaCodecException(SKCodecResult result) : base()
{
CodecResult = result;
}
/// <summary>
/// Initializes a new instance of the <see cref="SkiaCodecException" /> class
/// with a specified error message.
/// </summary>
2019-12-13 13:17:05 -07:00
/// <param name="result">The non-successful codec result returned by Skia.</param>
2019-09-14 21:27:42 -07:00
/// <param name="message">The message that describes the error.</param>
public SkiaCodecException(SKCodecResult result, string message)
: base(message)
{
CodecResult = result;
}
/// <inheritdoc />
public override string ToString()
=> string.Format(
CultureInfo.InvariantCulture,
"Non-success codec result: {0}\n{1}",
CodecResult,
2019-12-13 13:17:05 -07:00
base.ToString());
2019-09-14 21:27:42 -07:00
}
}