Chris@13: rawMessage = $message; Chris@17: parent::__construct(\sprintf('Exit: %s', $message), $code, $previous); Chris@13: } Chris@13: Chris@13: /** Chris@13: * Return a raw (unformatted) version of the error message. Chris@13: * Chris@13: * @return string Chris@13: */ Chris@13: public function getRawMessage() Chris@13: { Chris@13: return $this->rawMessage; Chris@13: } Chris@13: Chris@13: /** Chris@13: * Throws BreakException. Chris@13: * Chris@13: * Since `throw` can not be inserted into arbitrary expressions, it wraps with function call. Chris@13: * Chris@13: * @throws BreakException Chris@13: */ Chris@13: public static function exitShell() Chris@13: { Chris@13: throw new self('Goodbye'); Chris@13: } Chris@13: }