56 lines
1.5 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
|