parser

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

 

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

У меня немного не про это...

crypto 14.04.2010 14:27 / 14.04.2010 14:29

Sumo не понял - я не пытаюсь обработать все потенциальные ошибки своего кода,
а пытаюсь воспользоваться встроенным механизмом обработки ошибок
для контроллируемых логических ошибок типа: неправильный формат e-mail, нет прав на раздел, и т.п. То есть чтобы не изобретать велосипед типа собственного стека ошибок и оформленного вывода
этих ошибок, хотелось заюзать встроенный.

P.S.: В принципе вижу, что встроенный короче не будет.
Как примерно надо (упрощенная схема):
#
# Общая последовательность выполнения - свой error
#
^header_obj[]

$error[]

#-- content_obj[] ---
# например
^if(!^is_email[$form:email]){$error[email.badformat]}
...
^if(...){$error[type.err]}
#-- /content_obj[] ---

# если по ходу выполнения основного тела кода появились ошибки
# то выкатываем на экран сообщение поверх всего
# <div> с z-index, и position: absolute

^if(def $error){ ^error_obj[$error] }
#
# конечно хотелось бы внутрь ^error_obj[] словить не только
# тип ошибки но и имя файла и строчку где это произошло, так
# как одноименная логическая ошибка может возникнуть в разных
# файлах и шаблонах. И тут видимо только встроенный механизм.
#

^footer_obj[]
~~~~~~~~~~~~~~~~~~~
#
# Тоже самое только со встроенным механизмом
#
^header_obj[]
#-- content_obj[] ---
^try{
	^if(!^is_email[$form:email]){^throw[email.badformat]}
     }{
         $exception.handled(true)
# тут мы конечно в ^error_obj получим исчерпывающую информацию
# но громоздкость такого обрамления по всему коду это слишком
         ^error_obj[$exeption]
       }
#-- /content_obj[] ---
^footer_obj[]
Покороче никак не совместить полезное с приятным?