Wow, nice work man. Is performance decent?
Abort("ThisFunctionSucks(): This function sucks, why did you call it?", -1);
It allows you to blame the error on a script further up the call stack, useful in libraries to report invalid parameters or other such errors. If the stack offset is not provided, it defaults to 0, meaning "location of Abort call" - i.e. the normal behavior.