Как отобразить текущий год в шаблоне Django?

Используете ли вы обработчик ошибок во время отладки?

die операторы и другие фатальные ошибки времени выполнения и времени компиляции печатаются на STDERR, которые трудно найти и могут быть объединены с сообщениями с других веб-страниц вашего сайта. Хотя вы отлаживаете свой сценарий, неплохо было бы получить сообщения о фатальных ошибках для отображения в вашем браузере.

Один из способов сделать это - вызвать

   use CGI::Carp qw(fatalsToBrowser);

в верхней части вашего скрипта. Этот вызов установит обработчик $SIG{__DIE__} (см. perlvar ) отображает фатальные ошибки в вашем браузере, добавляя при необходимости допустимый заголовок. Другой трюк отладки CGI, который я использовал до того, как я когда-либо слышал о CGI::Carp, состоял в том, чтобы использовать eval с возможностями DATA и __END__ в скрипте для обнаружения ошибок времени компиляции:

   #!/usr/bin/perl
   eval join'', ;
   if ($@) { print "Content-type: text/plain:\n\nError in the script:\n$@\n; }
   __DATA__
   # ... actual CGI script starts here

Этот более подробный метод имеет небольшое преимущество перед CGI::Carp в том, что он будет ловить больше ошибок времени компиляции.

Обновление: я никогда не использовал его, но он выглядит как CGI::Debug , как предложил Mikael S, также является очень полезным и настраиваемым инструментом для этой цели.

143
задан Willy Nelson 7 June 2011 в 01:23
поделиться