mirror of
https://onedev.site.tesses.net/crosslang/crosslangextras
synced 2026-02-08 17:15:45 +00:00
Get more done on packageserver
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user