R, IC... AFAIK, although the manual doesn't make this clear and I have yet to test this fully, but I have accidently found this to be the case sometimes: EXIT will exit from the current loop (if...endif, do...until, function...endfunction etc). If so, this is great!If this is the case (or if it is made the case) then you basically have an ExitIF/ExitSelect/ExitFunction etc statement (something I would like) with the added bonus of being able to set @error.
As for @serror, that is a system thing and I do not believe you should be allowed to faff with it. I personlly use @errors that do not have a system definition, like 1000. You can then create a UDF (called SError) that returns a set of strings for @error=1000, 1001, etc...
I have already suggested that EXIT be improved to do the above idea of exiting the current loop and QUIT be improved to actually exit ALL scripts immediately.
cj