PHP Try and Catch или @

Вопрос заключается в том, чтобы не позволить приложению генерировать исключение и не останавливать приложение в некритических элементах (расходуемых, например, в журнале поиска пользователей, сохраненном в БД), лучше использовать этот код:

try {
/* some code here that will throw an exception at any error/miss-configuration because it is the
way this module works */

$user = Sentry::getUser();
} catch (Exception $e) {}

или же:

@$user = Sentry::getUser();

Это просто теоретический код, но на самом деле Sentry — хороший пример того, что я имею в виду. В этом случае, если пользователь не вошел в систему, Sentry выдаст исключение.

Как я уже сказал, речь идет о коде, который не критичен для приложения, и я не собираюсь злоупотреблять им.

Очевидно, что лучше подходить к написанию кода, чтобы вообще предотвратить такую ​​ситуацию.
Иногда, однако, это необходимо для системы stfu 🙂

0

Решение

Если код выдает исключение, единственный способ обработать это с try/catch блок.

@code только подавляет сообщения об ошибках; фатальные ошибки и исключения все равно прекратят выполнение кода.

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector