35 lines
980 B
C#
35 lines
980 B
C#
namespace Ficdown.Parser.Model.Parser
|
|
{
|
|
using System;
|
|
|
|
public class FicdownException : Exception
|
|
{
|
|
private string _blockName;
|
|
private int? _lineNumber;
|
|
private string _message;
|
|
|
|
public FicdownException(string blockName, int? lineNumber, string message) : base(message)
|
|
{
|
|
_blockName = blockName;
|
|
_lineNumber = lineNumber;
|
|
_message = message;
|
|
}
|
|
|
|
public FicdownException(string message) : base(message)
|
|
{
|
|
_message = message;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return !string.IsNullOrEmpty(_blockName)
|
|
? string.Format("Error in block \"{0}\" (Line {1}): {2}",
|
|
_blockName,
|
|
_lineNumber.HasValue
|
|
? _lineNumber.ToString()
|
|
: "unknown", _message)
|
|
: string.Format("Error: {0}", _message);
|
|
}
|
|
}
|
|
}
|