6

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

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

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

感谢所有帮助,在此先感谢。

4

1 回答 1

5

常规的 PHP 会话函数不会引发异常,但会触发错误。尝试编写错误处理函数并在调用之前设置错误处理程序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块错误的代码部分。

于 2013-05-15T14:53:10.430 回答