Автор Тема: try...catch  (Прочитано 3668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
try...catch
« : 22 Марта 2007, 14:08:32 »
нормально объясните как пользоваться try...catch в PHP5

или дайте ссылки.

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
try...catch
« Ответ #1 : 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();
}

какие варианты?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
try...catch
« Ответ #2 : 22 Марта 2007, 19:17:35 »
сам ПХП исключения не бросает (только некоторые новые экстеншены).
Поэтому надо бросать самому (примерно так как ты описал во втором примере).

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

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

set_error_handler(\'my_error_handler\');
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
try...catch
« Ответ #3 : 23 Марта 2007, 09:26:41 »
ладно будем отслеживать ручками

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28