Commit db6b722d authored by Jeff Fearn's avatar Jeff Fearn Committed by Byron Jones

Bug 1089475: Use "ThrowCodeError" when a database error occurs instead of dumping a stack trace

r=glob,a=glob
parent 4ee100d6
...@@ -142,6 +142,14 @@ sub _handle_error { ...@@ -142,6 +142,14 @@ sub _handle_error {
$_[0] = substr($_[0], 0, 2000) . ' ... ' . substr($_[0], -2000) $_[0] = substr($_[0], 0, 2000) . ' ... ' . substr($_[0], -2000)
if length($_[0]) > 4000; if length($_[0]) > 4000;
$_[0] = Carp::longmess($_[0]); $_[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 return 0; # Now let DBI handle raising the error
} }
......
...@@ -104,6 +104,10 @@ ...@@ -104,6 +104,10 @@
[% ELSIF error == "comment_type_invalid" %] [% ELSIF error == "comment_type_invalid" %]
'[% type FILTER html %]' is not a valid comment type. '[% type FILTER html %]' is not a valid comment type.
[% ELSIF error == "db_error" %]
An error occurred while performing a database operation:
<pre>[% err_message FILTER html %]</pre>
[% ELSIF error == "db_rename_conflict" %] [% ELSIF error == "db_rename_conflict" %]
Name conflict: Cannot rename [% old FILTER html %] to Name conflict: Cannot rename [% old FILTER html %] to
[%+ new FILTER html %] because [% new FILTER html %] already exists. [%+ new FILTER html %] because [% new FILTER html %] already exists.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment