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();
};
?>socket_clear_error
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
socket_clear_error
Референца за `function.socket-clear-error.php` со подобрена типографија и навигација.
socket_clear_error
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
socket_clear_error — Ги брише грешката на сокетот или последниот код за грешка
= NULL
Оваа функција го брише кодот за грешка на дадениот сокет или на глобалната последна грешка на сокетот ако не е специфициран сокет.
Оваа функција овозможува експлицитно ресетирање на вредноста на кодот за грешка или на сокетот или на глобалниот код за грешка на екстензијата. Ова може да биде корисно за откривање во дел од апликацијата дали настанала грешка или не.
Вратени вредности
Не се враќа вредност.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
socket е Сокет Врати ресурс или resource.
|
| 8.0.0 |
socket сега е null.
|
Види Исто така
- socket_last_error() - Враќа последна грешка на сокетот
- socket_strerror() - Reads a maximum of length bytes from a socket
Белешки од корисници 2 забелешки
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.