summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/DB.pm8
1 files changed, 8 insertions, 0 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index 9f3ed0f49..adf55f351 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -142,6 +142,14 @@ sub _handle_error {
$_[0] = substr($_[0], 0, 2000) . ' ... ' . substr($_[0], -2000)
if length($_[0]) > 4000;
$_[0] = Carp::longmess($_[0]);
+
+ if (!Bugzilla->request_cache->{in_error} && Bugzilla->usage_mode == USAGE_MODE_BROWSER) {
+ Bugzilla->request_cache->{in_error} = 1;
+ ThrowCodeError("db_error", {err_message => $_[0]});
+ }
+
+ Bugzilla->request_cache->{in_error} = undef;
+
return 0; # Now let DBI handle raising the error
}