As you should know, Wurst comes with the ability to inject stacktraces into your code, meaning you can see an execution trace of what happened before an error occured. These errors happen on wurst intrinsic issues, such as out of memory or null pointer dereferences. Stacktraces are controlled by the runarg -stacktraces
which is the default.
The only additional logic in the ErrorHandling
package is to prevent the same repeating error from spamming text messages for all players. Error and stacktrace are only displayed upon the first occurance and any repeating errors with the same message will be ignored for the next MUTE_ERROR_DURATION
seconds (default 60).
Emitting errors isn’t exclusive to the compiler - it actually references the function error
from this standard library package. You can produce such errors yourself by calling the error
function in your code with an appropriate message.
public function myAPI(unit target)
if target == null
error("Target may not be null")