X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FConnection.pm;h=6157f9855db2da3974a1a6110aa93b41b6311b85;hb=00450608fbb1abc4bd5e75d269ff0c87f87b9b48;hp=5ee0726b81cba192f3c2ef4dad601e8e2cd1ff64;hpb=426f1dd0916ccd6901f76ed1edfe60051134e5b8;p=irspy-moved-to-github.git diff --git a/lib/ZOOM/IRSpy/Connection.pm b/lib/ZOOM/IRSpy/Connection.pm index 5ee0726..6157f98 100644 --- a/lib/ZOOM/IRSpy/Connection.pm +++ b/lib/ZOOM/IRSpy/Connection.pm @@ -1,4 +1,3 @@ -# $Id: Connection.pm,v 1.18 2007-12-12 10:47:21 mike Exp $ package ZOOM::IRSpy::Connection; @@ -47,7 +46,16 @@ sub create { $this->{tasks} = []; my $query = cql_target($id); - my $rs = $irspy->{conn}->search(new ZOOM::Query::CQL($query)); + my $rs; + eval { + $rs = $irspy->{conn}->search(new ZOOM::Query::CQL($query)); + }; if ($@) { + # This should be a "can't happen", but junk entries such as + # //lucasportal.info/blogs/payday-usa">'night:G'night/Illepeliz + # (yes, really) yield BIB-1 diagnostic 108 "Malformed query" + warn "registry search for record '$id' had error: '$@' -- skipping"; + return undef; + } my $n = $rs->size(); $this->log("irspy", "query '$query' found $n record", $n==1 ? "" : "s"); ### More than 1 hit is always an error and indicates duplicate