powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Обработка ошибок в PHP
3 сообщений из 3, страница 1 из 1
Обработка ошибок в PHP
    #38893229
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой подход в обработке ошибок является, так сказать, best practices в PHP?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
try
{
  $db = new MyDatabase(...);
}
catch (Exception $e)
{
  die($e->getMessage());
}
...
class MyDatabase
{
  function __construct()
  {
    // подключение к БД
    if (error)
    {
      throw new Exception('Ошибка БД');
    }
  }
}



Или
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
$db = new MyDatabase();
if ($db->init()===false)
{
  die($db->error);
}
...
class MyDatabase
{
  function init()
  {
    // подключение к БД
    if (error)
    {
      return false;
    }
  }
}



Есть какие-либо общеупотребительные советы и рекомендации?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Обработка ошибок в PHP
    #38893232
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хотелось бы вызывать холивар на тему «исключение vs код возврата», но чаще всего в больших прикладных бинарных приложениях используют исключения, а в скриптах используют коды возврата.
Но я с PHP сталкивался мало и не знаю, как в нем лучше делать.
...
Рейтинг: 0 / 0
Обработка ошибок в PHP
    #38893354
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 21 веке аргументов за код возврата вместо исключения уже нет.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Обработка ошибок в PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]