如果套接字由于任何原因无法执行,我将尝试抛出一个错误。
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) OR throw new main_excp(error_pack(3050, 'Failed (socket_create): ' . socket_strerror(socket_last_error($socket)) .'!', true));然而,这并不像我得到一个错误那样工作。
如果我使用OR die(),脚本就会在那里退出,我将无法在catch{}中相应地处理错误。
有什么正确的方法可以做到这一点?
发布于 2017-08-23 11:24:02
PHP手册说:
socket_create()在成功时返回套接字资源,错误时返回FALSE。可以通过调用socket_last_error()来检索实际的错误代码。可以将此错误代码传递给socket_strerror()以获得错误的文本解释。
因此,您可以检查$socket是否有一个假值(使用$socket === false),并使用socket_last_error()和socket_sterror()函数获取错误。
https://stackoverflow.com/questions/45838169
复制相似问题