This commit is contained in:
Dante
2026-05-21 20:15:16 -07:00
parent fe8bd1e307
commit add4d4cc87
2664 changed files with 198448 additions and 0 deletions

View File

@ -0,0 +1,16 @@
package haxe.exceptions;
/**
An exception that is thrown when an invalid value provided for an argument of a function.
**/
class ArgumentException extends PosException {
/**
An argument name.
**/
public final argument:String;
public function new(argument:String, ?message:String, ?previous:Exception, ?pos:PosInfos):Void {
super(message == null ? 'Invalid argument "$argument"' : message, previous, pos);
this.argument = argument;
}
}

View File

@ -0,0 +1,10 @@
package haxe.exceptions;
/**
An exception that is thrown when requested function or operation does not have an implementation.
**/
class NotImplementedException extends PosException {
public function new(message:String = 'Not implemented', ?previous:Exception, ?pos:PosInfos):Void {
super(message, previous, pos);
}
}

View File

@ -0,0 +1,27 @@
package haxe.exceptions;
/**
An exception that carry position information of a place where it was created.
**/
class PosException extends Exception {
/**
Position where this exception was created.
**/
public final posInfos:PosInfos;
public function new(message:String, ?previous:Exception, ?pos:PosInfos):Void {
super(message, previous);
if (pos == null) {
posInfos = { fileName:'(unknown)', lineNumber:0, className:'(unknown)', methodName:'(unknown)' }
} else {
posInfos = pos;
}
}
/**
Returns exception message.
**/
override function toString():String {
return '${super.toString()} in ${posInfos.className}.${posInfos.methodName} at ${posInfos.fileName}:${posInfos.lineNumber}';
}
}