✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Obsługa prawdziwych wyjątków w PHP i JavaScript

23

@Jordan Hall tweetuje prawdziwe programy obsługi wyjątków w PHP i JavaScript.

Obsługa wyjątków 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;
}

Jeśli więc coś pójdzie nie tak, strona zostanie przekierowana do stackoverflow w celu uzyskania odpowiedzi.

Obsługa wyjątków PHP

Podobnie, oto wersje 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());
}

Możesz podzielić try-catch na dwa pliki i pozwolić serwerowi automatycznie zawinąć twój kod PHP w ten duży try-catch.

Będziesz potrzebował dyrektyw phps auto_prepend_file i auto_append_file. i zmodyfikuj. plik htaccess .

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

Umieść następujące w before.php

a resztę umieść w 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());
}

Alternatywnie możesz umieścić te definicje w php.ini (wymaga trybu cgi, wpływa na cały serwer WWW).

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

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów