diff --git a/lib/Craniac.pm b/lib/Craniac.pm index 022902c..2f2b0f8 100644 --- a/lib/Craniac.pm +++ b/lib/Craniac.pm @@ -115,17 +115,19 @@ sub brains (@) { my $brainname = sprintf '%s/%s.sqlite', $c->{braindir}, $cid; - $hailo->{$chatid} = Hailo->new ( - brain => $brainname, - order => 3 - ); + $hailo->{$chatid} = eval { + Hailo->new ( + brain => $brainname, + order => 3 + ); + }; - unless (defined $hailo->{$chatid}) { + if (defined $hailo->{$chatid}) { + $log->info (sprintf 'Lazy init brain: %s', $brainname); + } else { $log->warn ($EVAL_ERROR); return 0; } - - $log->info (sprintf 'Lazy init brain: %s', $brainname); } return 1;