Get more done on packageserver

This commit is contained in:
2025-07-12 03:33:37 -05:00
parent 3ccb517aed
commit 35960d5db0
15 changed files with 441 additions and 78 deletions

View File

@@ -1,41 +1,29 @@
/^
Create a new exception
^/
func New.Exception(message,$type,$inner)
class Exception
{
if(TypeIsString(type))
public Message;
public InnerException;
public Exception(message,$inner)
{
return {
Message = message,
InnerException = inner,
Type = type,
ToString = Std.Internal.Exception.ToString
};
this.Message = message;
this.InnerException = inner;
}
else
public ToString()
{
return {
Message = message,
InnerException = inner,
Type = "Exception",
ToString = Std.Internal.Exception.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;
}
}
/^Out of range exception^/
func New.OutOfRangeException(varName, $inner)
{
return new Exception($"{varName} is out of range.","OutOfRangeException",inner);
}
/^Exception ToString^/
func Std.Internal.Exception.ToString(this)
{
var messagePart = $"{this.Type}: {this.Message}";
if(this.InnerException != undefined && this.InnerException != null)
{
var innerEx = this.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);
}
}