summaryrefslogtreecommitdiff
path: root/tests/examplefiles/Error.pmod
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2014-01-09 17:28:59 +0100
committerGeorg Brandl <georg@python.org>2014-01-09 17:28:59 +0100
commit5e18204f68d92d3926ea43b85bccc49dc3ab57d1 (patch)
treee8c9b843259df6eaab51647012a32f3d9a3140dc /tests/examplefiles/Error.pmod
parentf18a03187c7ddaec0330ece20bbfef1b116f31ac (diff)
parente6aa1888047f589f1f57e417702ed01683869214 (diff)
downloadpygments-5e18204f68d92d3926ea43b85bccc49dc3ab57d1.tar.gz
Merged in thomasvandoren/pygments-main (pull request #256)
Diffstat (limited to 'tests/examplefiles/Error.pmod')
-rw-r--r--tests/examplefiles/Error.pmod38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/examplefiles/Error.pmod b/tests/examplefiles/Error.pmod
new file mode 100644
index 00000000..808ecb0e
--- /dev/null
+++ b/tests/examplefiles/Error.pmod
@@ -0,0 +1,38 @@
+#pike __REAL_VERSION__
+
+constant Generic = __builtin.GenericError;
+
+constant Index = __builtin.IndexError;
+
+constant BadArgument = __builtin.BadArgumentError;
+
+constant Math = __builtin.MathError;
+
+constant Resource = __builtin.ResourceError;
+
+constant Permission = __builtin.PermissionError;
+
+constant Decode = __builtin.DecodeError;
+
+constant Cpp = __builtin.CppError;
+
+constant Compilation = __builtin.CompilationError;
+
+constant MasterLoad = __builtin.MasterLoadError;
+
+constant ModuleLoad = __builtin.ModuleLoadError;
+
+//! Returns an Error object for any argument it receives. If the
+//! argument already is an Error object or is empty, it does nothing.
+object mkerror(mixed error)
+{
+ if (error == UNDEFINED)
+ return error;
+ if (objectp(error) && error->is_generic_error)
+ return error;
+ if (arrayp(error))
+ return Error.Generic(@error);
+ if (stringp(error))
+ return Error.Generic(error);
+ return Error.Generic(sprintf("%O", error));
+} \ No newline at end of file