✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Справжні обробники винятків у PHP і Javascript

17

@Jordan Hall твітує справжні обробники винятків у PHP і Javascript.

Обробник винятків Javascript

try {
  // something
} catch (e) {
   window.location.href = "<a class="vglnk" target="_blank" href="http://stackoverflow.com/search?q=[js" rel="nofollow"><span>http</span><span>://</span><span>stackoverflow</span><span>.</span><span>com</span><span>/</span><span>search</span><span>?</span><span>q</span><span>=[</span><span>js</span></a>] + "
                        + e.message;
}

Отже, якщо щось піде не так, сторінка буде перенаправлена ​​на stackoverflow для отримання відповідей.

Обробник виключень PHP

Аналогічно, ось версії PHP:

try {
  // something
} catch (Exception $e) {
  header("Location: <a class="vglnk" target="_blank" href="https://stackoverflow.com/search?q=[php" rel="nofollow"><span>https</span><span>://</span><span>stackoverflow</span><span>.</span><span>com</span><span>/</span><span>search</span><span>?</span><span>q</span><span>=[</span><span>php</span></a>] ".$e->getMessage());
}

Ви можете розділити try-catch на два файли й дозволити серверу автоматично загорнути ваш PHP-код у цей великий try-catch.

Вам знадобляться директиви php auto_prepend_file і auto_append_file. і змініть. файл htaccess .

php_value auto_prepend_file "/path/to/file/before.php"
php_value auto_append_file "/path/to/file/after.php"

Вставте наступне в before.php

а решту помістіть у after.php

} catch (Exception $e) {
  header("Location: <a class="vglnk" target="_blank" href="https://stackoverflow.com/search?q=[php" rel="nofollow"><span>https</span><span>://</span><span>stackoverflow</span><span>.</span><span>com</span><span>/</span><span>search</span><span>?</span><span>q</span><span>=[</span><span>php</span></a>] ".$e->getMessage());
}

Крім того, ви можете розмістити ці визначення у php.ini (потрібен режим cgi, впливає на весь веб-сервер).

auto_prepend_file  = "/path/to/file/before.php"
auto_append_file   = "/path/to/file/after.php"

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі