捕获和异常错误

时间:2017-08-23 11:13:56

标签: php

如果套接字由于某种原因无法执行,我试图抛出一个错误。

$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{}内相应地处理错误。

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

PHP Manual说:

  

socket_create()在成功时返回套接字资源,或者为FALSE   错误。可以通过调用检索实际的错误代码   socket_last_error()。此错误代码可能会传递给   socket_strerror()获取错误的文本解释。

因此,您可以检查$socket是否有错值(使用$socket === false)并使用函数socket_last_error()socket_sterror()获取错误。