@unhandled_exception. Вывод необработанных ошибок

Если ошибка так и не была обработана ни одним обработчиком (см. оператор try), Parser вызывает метод unhandled_exception, ему передается информация об ошибке и стек вызовов, приведших к ошибке, и выдаются результаты его работы. Также ошибка записывается в журнал ошибок веб-сервера.

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

Рекомендуем поместить этот метод в Конфигурационный файл сайта.

Имеется возможность предотвратить запись ошибки в журнал ошибок, для чего только для нужных ошибок можно зажечь флаг:
$exception.handled(true)    [3.1.4]

Пример
@unhandled_exception[exception;stack]
$
response:content-type[
        $.value[text/html]
        $.charset[
$response:charset]
]

<title>UNHANDLED EXCEPTION (root)</title>
<body bgcolor=white>
<font color=black>
<pre>
^
untaint[html]{$exception.comment}</pre>
^
if(
def $exception.source){
   
<b>$exception.source</b><br />
   
<pre>^untaint[html]{$exception.file^($exception.lineno^)}</pre>
}
^if(def $exception.type){
exception.type=$exception.type}
^if($stack){
   <hr />
   ^stack.
menu{
      
<tt>$stack.name</tt> $stack.file^($stack.lineno^)<br />
   }
}



In order to add comments you must register.
Copyright © 1997–2021 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 21.09.2007