public function assertAlive()
    {
        $code = $this->getOption(SOL_SOCKET, SO_ERROR);
        if ($code !== 0) {
            throw Exception::createFromCode($code, 'Socket error');
        }
        return $this;
    }
public function assertAlive()
    {
        $code = $this->getOption(SOL_SOCKET, SO_ERROR);
        if ($code !== 0) {
            throw Exception::createFromCode($code, 'Socket error');
        }
        return $this;
    }
public function assertAlive ( ) { $ code = $ this -> getOption ( SOL_SOCKET , SO_ERROR ) ; if ( $ code !== 0 ) { throw Exception :: createFromCode ( $ code , 'Socket error' ) ; } return $ this ; }
assert that this socket is alive and its error code is 0

This will fetch and reset the current socket error code from the
socket and options and will throw an Exception along with error
message and code if the code is not 0, i.e. if it does indicate
an error situation.

Calling this method should not be needed in most cases and is
likely to not throw an Exception. Each socket operation like
connect(), send(), etc. will throw a dedicated Exception in case
of an error anyway.

@return self $this (chainable)
@throws Exception if error code is not 0
@uses self::getOption() to retrieve and clear current error code
@uses self::getErrorMessage() to translate error code to
assert that this socket is alive and its error code is 0