2013-05-15 2 views
4

Я ищу общий способ обработки ошибок session_start, а не способ справиться с одной конкретной ошибкой. Существует множество ошибок, которые могут произойти, например, полный каталог сеанса, которые вызывают фатальную ошибку. Я хочу, чтобы улавливать эти ошибки и обрабатывать их чисто, без необходимости писать пользовательские обработчики для каждой возможности.php session_start общая обработка ошибок

Нечто подобное (но не в этом, как это не работает):

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

Все оцененная помощь, заранее спасибо.

+0

Посмотрите [set_error_handler] (http://php.net/manual/en/function.set-error-handler.php) – Anigel

+0

См. Также [этот ответ] (http://stackoverflow.com/questions/10331084/error-logging-in-a-smooth-way/10476589 # 10476589) об обработке ошибок в целом. –

ответ

0

Регулярные функции сеанса 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.

Смежные вопросы