Index: /branches/release-39/lib/MT/Object.pm
===================================================================
--- /branches/release-39/lib/MT/Object.pm (revision 2459)
+++ /branches/release-39/lib/MT/Object.pm (revision 2483)
@@ -710,4 +710,17 @@
 sub remove_all     { shift->_proxy('remove_all',     @_) }
 
+sub save {
+    my $obj = shift;
+    my $res = eval {
+        my $dbh = $obj->driver->rw_handle;
+        local $dbh->{RaiseError} = 1;
+        $obj->SUPER::save(@_);
+    };
+    if (my $err = $@) {
+        return $obj->error($err);
+    }
+    return $res;
+}
+
 sub remove {
     my $obj = shift;
