37 lines
1.1 KiB
C#
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
|
|
);
|
|
}
|
|
}
|