Forum Webscript.Ru

Программирование => PHP => Тема начата: new_coder от 22 Марта 2007, 14:08:32

Название: try...catch
Отправлено: new_coder от 22 Марта 2007, 14:08:32
нормально объясните как пользоваться try...catch в PHP5

или дайте ссылки.
Название: try...catch
Отправлено: new_coder от 22 Марта 2007, 15:07:58
try
{
$a = 5/0; // здесь не должно вылетать ошибок
}
catch ()
{
// а здесь мой обработчик?
}

это вариант не подходит :

try
{
$a = 0;
if ($a == 0) // в блоке try нужно без проверок
{
throw new Exception();
}
}
catch (Exception $e)
{
echo $e->getMessage();
}

какие варианты?
Название: try...catch
Отправлено: Макс от 22 Марта 2007, 19:17:35
сам ПХП исключения не бросает (только некоторые новые экстеншены).
Поэтому надо бросать самому (примерно так как ты описал во втором примере).

Еще есть грязный хак :

function my_error_handler($severity, $message, $filename, $lineno) {
   throw new MyException($message, 0, $severity, $filename, $lineno);
}

set_error_handler(\'my_error_handler\');
Название: try...catch
Отправлено: new_coder от 23 Марта 2007, 09:26:41
ладно будем отслеживать ручками