mfgames-cil/src/MfGames.Markdown/Exceptions/MarkdownHeaderOutOfRangeException.cs
D. Moonfire edf6289dee
All checks were successful
deploy / deploy (push) Successful in 12m9s
feat: added a Markdown heading level transformer
2024-04-18 23:56:05 -05:00

37 lines
1.1 KiB
C#

namespace MfGames.Markdown.Exceptions;
public class MarkdownHeaderOutOfRangeException : Exception
{
public MarkdownHeaderOutOfRangeException(int oldLevel, int newLevel)
: this(FormatMessage(oldLevel, newLevel))
{
this.OldLevel = oldLevel;
this.NewLevel = newLevel;
}
public MarkdownHeaderOutOfRangeException()
: base() { }
public MarkdownHeaderOutOfRangeException(string? message)
: base(message) { }
public MarkdownHeaderOutOfRangeException(int oldLevel, int newLevel, Exception? innerException)
: base(FormatMessage(oldLevel, newLevel), innerException) { }
public MarkdownHeaderOutOfRangeException(string? message, Exception? innerException)
: base(message, innerException) { }
public int NewLevel { get; }
public int OldLevel { get; }
private static string FormatMessage(int oldLevel, int newLevel)
{
return string.Format(
"Cannot change the Markdown heading level from {0} to {1}.",
oldLevel,
newLevel
);
}
}