<event code='2002' textcode='DATABASE_QUERY_FAILED'>
<desc xml:lang="en-US">The attempt to query to the DB failed</desc>
</event>
+ <event code='2003' textcode='INTERNAL_SERVER_ERROR'>
+ <desc xml:lang="en-US">There was an internal server error</desc>
+ </event>
<event code='5000' textcode='PERM_FAILURE'>
<desc xml:lang="en-US">Permission Denied</desc>
</event>
my $last = ($x++ == scalar(@$commands) - 1) ? 1 : 0;
my $res = { command => $d };
- $res->{event} = ol_handle_checkin($d) if $t eq 'checkin';
- $res->{event} = ol_handle_inhouse($d) if $t eq 'in_house_use';
- $res->{event} = ol_handle_checkout($d) if $t eq 'checkout';
- $res->{event} = ol_handle_renew($d) if $t eq 'renew';
- $res->{event} = ol_handle_register($d) if $t eq 'register';
+ try {
+ $res->{event} = ol_handle_checkin($d) if $t eq 'checkin';
+ $res->{event} = ol_handle_inhouse($d) if $t eq 'in_house_use';
+ $res->{event} = ol_handle_checkout($d) if $t eq 'checkout';
+ $res->{event} = ol_handle_renew($d) if $t eq 'renew';
+ $res->{event} = ol_handle_register($d) if $t eq 'register';
+
+ } catch Error with {
+ my $e = shift;
+ $res->{event} = OpenILS::Event->new(
+ 'INTERNAL_SERVER_ERROR', debug => "$e");
+ };
ol_append_result($res, $last);