PHP 5.4.33 Released

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_errorLimpa o erro no socket ou o último código de erro

Descrição

void socket_clear_error ([ resource $socket ] )

Essa função limpa o código de erro dado no socket ou o último erro de socket global se nenhum for especificado.

Essa função permite explicitamente resetar qualquer valor do código de erro do socket ou da extensão global do último código de erro. Isso deve ser útil para detectar dentro de uma parte da aplicação se um erro ocorreu ou não.

Parâmetros

socket

Um válido resource de socket criado com socket_create().

Valor Retornado

Não há valor retornado.

Veja Também

add a note add a note

User Contributed Notes 2 notes

up
0
ludvig dot ericson at gmail dot com
8 years ago
If you want to clear your error in a small amount of code, do a similar hack as to what most people do in SQL query checking,
<?php
$result
= mysql_query($sql) or die(/* Whatever code */);
?>

It could look like this:
<?php
if (!($socket = socket_create(/* Whatever code */)) {
    echo (
"Failed to create socket: " . socket_strerror(socket_last_error()) and socket_clear_error());
}
?>

As you can see, I use "and" here instead of "or" since the first part will always return true, thus if you use or PHP's lazy boolean checking will not execute the last part, which it will with an and if the first part is true.
up
-1
raphael at engenhosweb dot com dot br
3 years ago
You can do this too, with anonymous function:
<?php
$socket
= @socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or function() {
           
$errstr = socket_strerror(socket_last_error());
            echo (
"Failed to create socket: " . $errstr);
           
socket_clear_error();
        };
?>
To Top