Todelliset poikkeuskäsittelijät PHP:ssä ja Javascriptissä
@Jordan Hall twiittasi todellisia poikkeuskäsittelijöitä PHP:ssä ja Javascriptissä.
Javascriptin poikkeuskäsittelijä
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;
}
Joten jos asiat menevät pieleen, sivu ohjataan stackoverflow-sivustolle vastauksia varten.
PHP poikkeuskäsittelijä
Samoin tässä on PHP-versiot:
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());
}
Voit jakaa try-catchin kahdeksi tiedostoksi ja antaa palvelimen kääriä PHP-koodisi automaattisesti tähän suureen try-catchiin.
Tarvitset komentoja phps auto_prepend_file ja auto_append_file. ja muokkaa. htaccess tiedosto.
php_value auto_prepend_file "/path/to/file/before.php"
php_value auto_append_file "/path/to/file/after.php"
Laita seuraava ennen.php
ja laita loput after.php :hen
} 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());
}
Vaihtoehtoisesti voit laittaa nämä määritelmät php.ini -tiedostoon (vaatii cgi-tilan, vaikuttaa koko verkkopalvelimeen).
auto_prepend_file = "/path/to/file/before.php"
auto_append_file = "/path/to/file/after.php"