parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Рацпредложение

Sanja v.2 06.10.2003 11:24 / 06.10.2003 11:29

Paf, предлагаю заменить в дистрибутиве парсера @unhandled_exception на такой:
@unhandled_exception[exception;stack]
$response:status(500)
$response:content-type[
        $.value[text/html]
        $.charset[$response:charset]
]
<html>
	<head>
		<title>Internal server error</title>
		<style><!--
			h2 {border-bottom: dotted 1px #ccc^; margin-top: 20px^; color: #900}
			li {list-style-type: square}
		--></style>
	</head>
	<body>
		<H2>Ошибка в коде Parser</h2>
		<h3>Сообщение об ошибке:</h3>
		<pre>^untaint[html]{$exception.comment}</pre>
		^if(def $exception.source){
			<h3>Ошибку вызвал этот фрагмент кода:</h3>
			<tt>$exception.source</tt>
			<h3>Ошибка произошла при работе с файлом:</h3>
			<pre>^untaint[html]{
				<tt>${exception.file}</tt>, строка номер <b>$exception.lineno</b>
			}</pre>
		}
		^if(def $exception.type){
			$parser_error_types[^table::create{type	explanation
parser.compile	в вашем коде ошибка - вы забыли поставить пару какой-нибудь скобке, забыли поставить "птичку" перед знаком "^;" или ещё что-то. Будьте внимательнее. 
parser.runtime	методу передано неправильное количество параметров (нигде, часом, не забыли поставить "птичку" перед знаком "^;", где он не несёт специального значения) или не тех типов, и т.п. Возможно, где-то опечатка в названии стандартной функции или в её использовании. Внимательно перепроверьте ваш код.
parser.interrupted	загрузка страницы прервалась (пользователь остановил загрузку страницы или истекло время ожидания).
number.zerodivision	вы пытаетесь заставить Parser поделить что-то на ноль, а он не умеет.
number.format	вы пытаетесь преобразовать к числу нечисловые данные (например, "Людовик XIV" в "14" Parser преобразовать никогда не сумеет).
file.missing	вы пытаетесь получить доступ к файлу, которого нет или он на деле называется не так, как вы думаете (может быть, вы перепутали регистр? или заменили английскую букву в имени русской?)
file.access	у парсера нет прав на доступ к этому файлу.
image.format	файл изображения имеет неправильный формат (возможно, расширение имени не соответствует содержимому, или файл пуст?)
sql.connect	сервер баз данных не может быть найден или временно недоступен или же ему просто не нравятся ваши логин с паролем.
sql.execute	произошла ошибка исполнения SQL запроса. Там точно нет никаких опечаток? В таблице, к которой вы обращаетесь, есть все нужные столбцы? Может быть, база данных была повреждена? Или кончилось место на диске и сервер базы данных не может дальше правильно работать? 
xml	в вашем коде XML ошибки, или вы пытаетесь выполнить над XML недопустимую операцию.
smtp.connect	SMTP сервер (сервер для отправки почты) не может быть найден или временно недоступен.
smtp.execute	произошла ошибка отправки письма по SMTP протоколу (проверьте, не "упал" ли сервер, принимает ли он от вас письма, и не вмешивается ли в процесс слишком бдительный антивирус).
email.format 	у вас ошибка в email адресе: адрес пустой или содержит неправильные символы.
email.send	произошла ошибка запуска почтовой программы (у вас точно sendmail правильно работает? Спросите у администратора сервера).
http.host	искомый сервер не найден.
http.connect	сервер, к которому вы обращаетесь, найден, но не принимает соединений.
http.response	сервер, к которому вы обращаетесь, был найден, соединение принял, но выдал некорректный ответ (нет статуса, заголовка)
http.status	Cервер выдал ответ со статусом, не равным 200 (не успешное выполнение запроса). Может быть, статус - уже давно как "404 Page not found"?...
http.timeout	Parser не успел выкачать документ с HTTP-сервера в отведенное время. Попробуйте увеличить параметр timeout или сделать что-то с каналом связи с интернетом.}]

		<p>Тип ошибки: <b>$exception.type</b>
			^if(^parser_error_types.locate[type;$exception.type]){ 
   		 		(Это означает, что
  		 		 		$parser_error_types.explanation
		  		) 
			} 
		</p>
		}
		^if($stack){
			<h3>Последовательность операций, которая привела к ошибке:</h3>
			(от самой последней вверху списка до самой первой внизу)
			<ul>
				^stack.menu{
					<li><tt>$stack.name</tt> $stack.file^($stack.lineno^)</li>
				}
			</ul>
			
		}
		^for[i](0;512/6){
			&nbsp^;
		}
	</body>
</html>
Куда человечнее и понятнее -> меньше глупых вопросов в форуме.