个人遇到的问题汇总

来源:互联网 发布:行为记录软件 编辑:程序博客网 时间:2024/05/01 18:39

1.PHP try/catch 与 fatal error

try/catch只对抛出的异常(有异常抛出或异常的子类抛出)有用,在PHP中你无法使用这个函数捕捉 fatal error。
如果你的DB变量无法建立数据库链接,我会认为这是fatal error,因为你在这页面上做任何有意义的事情都离不开DB变量。
假如不能建立链接,PDO会抛出一个异常。不过假如你的$DB返回的是空指针,那么这是个fatal error。与其利用if($db==null)这样的代码块绕过这样的问题,不如修复代码以保证$db始终被定义。
假如真想“catch”fatal error,需要使用函数set_error_handler,不过仍然会在fatal error出现时停止执行脚本。

上面翻译自Explosion Pills 在 stackflow 回答 :详细地址

当不需要捕捉fatal error时,用这样的代码以绕过fatal error:
1. $db = @mysql_connect(...) or die(...);
2. if($db)
do sth...

2.

0 0
原创粉丝点击