These are errors which can be returned by many of the builtin commands. Every builtin also contains a usage message on the proper invocation method.
Tried to change the cwd to a file that isn't a directory.
GS/OS Prefix command failed, most likely the pathname did not exist or the disk is damaged.
An unknown flag was sent to setdebug. Run setdebug with no arguments for a list of possible flags.
ps was unable to access the process data structure. If the kernel data structures are damaged to the point that this error occurs, it is likely that you will not be able to see this error.
A variable was not passed to set, for example, "set =bar". Make sure the variable name was specified without the preceding dollar sign. For example, if foo is not set, then "set $foo=bar" would be expanded to "set =bar", resulting in this error.
See the signal(2) manual page for a list of valid signal names and numbers.
There aren't currently any jobs so the attempted command is useless.
The specified job (or process) doesn't exist.
Well, this should be self-explanatory. Also, some of these should be impossible to get, unless you're bound and determined to crash gsh, but then, these errors will keep you from crashing it, so, what's the point?