Files
crosslangextras/Tesses.CrossLang.Std/src/exception.tcross

29 lines
693 B
Plaintext

class Exception
{
public Message;
public InnerException;
public Exception(message,$inner)
{
this.Message = message;
this.InnerException = inner;
}
public ToString()
{
var messagePart = $"{Class.Name(this)}: {Message}";
if(InnerException != undefined && InnerException != null)
{
var innerEx = InnerException.ToString().Replace("\n","\n\t");
return $"{messagePart}\nInner exception:\n{innerEx}";
}
return messagePart;
}
}
class OutOfRangeException : Exception
{
public OutOfRangeException(varName,$inner)
{
Exception($"{varName} is out of range.",inner);
}
}