Runtime errors in Custom operators

There are fewer options for error handling in Custom operators than in primitive operators.

For unrecoverable errors, developers must make explicit calls to the Standard Library function shutdownPE(). Streams Processing Language (SPL) does not have exceptions, so they are not an option as in primitive operators.

Logging is available at the SPL level by the logging function spl.utility.log (which is different from spl.math.log). Operators can also designate error-ports that receive only bad data.