LINUX.ORG.RU

mojolicious perl

 


0

1

Добрый день, решил переписать старые проекты на mojolicious (для расширения кругозора). Возникли вопросы. Прошу помочь разобраться. Для соединения с БД использую старый, добрый DBI. С CGI при невозможности установить соединения с БД я использовал die:

$dbh = DBI->connect($data_source, $username, $auth, \%attr) || die $dbh->errstr;
В mojolicious использовать die нельзя, рекомендуется использовать croak из модуля Carp.
$dbh = DBI->connect($data_source, $username, $auth, \%attr) || croak($dbh->errstr);
но тогда возникает ошибка в случае невозможности подключиться
at /lib/proba/lib.pm line 22.
как раз croak

  1. Почему не используется параметрт RaiseError? Т.е. зачем везде явно обрабатывать возвращаемый DBI результат?

  2. «рекомендуется использовать croak из модуля Carp» - это общая рекомендация, не только для Mojolicious.

  3. В чем проблема с «at /lib/proba/lib.pm line 22.»?

outtaspace ★★★ ()
Ответ на: комментарий от outtaspace
  1. RaiseError отключаю, что бы все ошибки только в лог писались и никуда более не выводились.
  2. Мне более чем достаточно в логах, что неверно указан логин или пароль. Зачем мне номер строки в которой я создаю подключение.
john13 ()