Module: Exception::Lite durch Exception::Class ersetzt
[kivitendo-erp.git] / SL / X.pm
diff --git a/SL/X.pm b/SL/X.pm
index 4ecfc7d..756793b 100644 (file)
--- a/SL/X.pm
+++ b/SL/X.pm
@@ -1,13 +1,32 @@
 package SL::X;
 
 use strict;
+use warnings;
 
-use Exception::Lite qw(declareExceptionClass);
+use SL::X::Base;
 
-declareExceptionClass('SL::X::FormError');
-declareExceptionClass('SL::X::DBError',                        [ '%s %s', qw(error msg) ]);
-declareExceptionClass('SL::X::DBHookError',  'SL::X::DBError', [ '%s hook \'%s\' for object type \'%s\' failed', qw(when hook object_type object) ]);
-declareExceptionClass('SL::X::DBRoseError',  'SL::X::DBError', [ '\'%s\' in object of type \'%s\' occured', qw(error class) ]);
-declareExceptionClass('SL::X::DBUtilsError', 'SL::X::DBError', [ '%s: %s', qw(msg error) ]);
+use Exception::Class (
+  'SL::X::FormError'    => {
+    isa                 => 'SL::X::Base',
+  },
+  'SL::X::DBError'      => {
+    isa                 => 'SL::X::Base',
+    fields              => [ qw(msg db_error) ],
+    defaults            => { error_template => [ '%s: %s', qw(msg db_error) ] },
+  },
+  'SL::X::DBHookError'  => {
+    isa                 => 'SL::X::DBError',
+    fields              => [ qw(when hook object object_type) ],
+    defaults            => { error_template => [ '%s hook \'%s\' for object type \'%s\' failed', qw(when hook object_type object) ] },
+  },
+  'SL::X::DBRoseError'  => {
+    isa                 => 'SL::X::DBError',
+    fields              => [ qw(class metaobject object) ],
+    defaults            => { error_template => [ '\'%s\' in object of type \'%s\' occured', qw(db_error class) ] },
+  },
+  'SL::X::DBUtilsError' => {
+    isa                 => 'SL::X::DBError',
+  },
+);
 
 1;