The library does not use neither exceptions nor anything else but request identifiers to indicate errors. What this (also) means is that the library does not handle neither exceptions nor signals nor anything else. If you pass a bad pointer to a function and its execution is interrupted, further execution might be impossible due to internal objects left locked.
Human readable error messages corresponding to error codes returned by the library can be retreived using the rascal_get_errmsg
function.