Los verdaderos controladores de excepciones en PHP y Javascript
@Jordan Hall tuitea verdaderos manejadores de excepciones en PHP y Javascript.
Controlador de excepciones de 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;
}
Entonces, si las cosas salen mal, la página se redirigirá a stackoverflow para obtener respuestas.
Manejador de excepciones de PHP
Del mismo modo, aquí están las versiones de 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());
}
Puede dividir el intento de captura en dos archivos y dejar que el servidor envuelva automáticamente su código PHP dentro de este gran intento de captura.
Necesitará las directivas auto_prepend_file y auto_append_file de phps. y modificar el. archivo htaccess .
php_value auto_prepend_file "/path/to/file/before.php"
php_value auto_append_file "/path/to/file/after.php"
Pon lo siguiente en before.php
y pon el resto en 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());
}
Alternativamente, puede poner estas definiciones en php.ini (requiere el modo cgi, afecta a todo el servidor web).
auto_prepend_file = "/path/to/file/before.php"
auto_append_file = "/path/to/file/after.php"