Files
Flee/CalcEngine/PublicTypes/Exceptions.cs

56 lines
1.5 KiB
C#

using System;
using Flee.PublicTypes;
namespace Flee.CalcEngine.PublicTypes
{
public class CircularReferenceException : System.Exception
{
private readonly string _myCircularReferenceSource;
internal CircularReferenceException()
{
}
internal CircularReferenceException(string circularReferenceSource)
{
_myCircularReferenceSource = circularReferenceSource;
}
public override string Message
{
get
{
if (_myCircularReferenceSource == null)
{
return "Circular reference detected in calculation engine";
}
else
{
return $"Circular reference detected in calculation engine at '{_myCircularReferenceSource}'";
}
}
}
}
public class BatchLoadCompileException : Exception
{
private readonly string _myAtomName;
private readonly string _myExpressionText;
internal BatchLoadCompileException(string atomName, string expressionText, ExpressionCompileException innerException) : base(
$"Batch Load: The expression for atom '${atomName}' could not be compiled", innerException)
{
_myAtomName = atomName;
_myExpressionText = expressionText;
}
public string AtomName => _myAtomName;
public string ExpressionText => _myExpressionText;
}
}