php session_start一般错误处理

时间:2013-05-15 14:49:17

标签: php session-cookies

我正在寻找处理session_start错误的一般方法,而不是处理一个特定错误的方法。可能会发生许多错误,例如会话目录已满,这会导致致命错误。我想要一种方法来捕获这些错误并干净地处理它们,而不必为每种可能性编写自定义处理程序。

像这样的东西(但不是因为它不起作用):

try{
    session_start();
}catch(Exception  $e){
    echo $e->getMessage();
}

所有帮助表示感谢,提前谢谢。

1 个答案:

答案 0 :(得分:1)

常规PHP会话函数不会抛出异常但会触发错误。尝试编写error handler function并在调用session_start之前设置错误处理程序。

function session_error_handling_function($code, $msg, $file, $line) {
    // your handling code here
}

set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();

但是,这仅用于捕获会话错误。更好的方法是创建一个通用错误处理程序,该错误处理程序可以创建错误和环绕代码部分的异常,这可能会导致try ... catch块出错。