scansion/error.lua

Thu, 31 Dec 2015 18:18:02 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Thu, 31 Dec 2015 18:18:02 +0000
changeset 64
f0a1f82b8e04
child 104
fb915f3a9c89
permissions
-rw-r--r--

scansion.error: Util for creating error objects

64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local error_mt = {
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 __tostring = function (e)
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 return tostring(e.message or ("<Scansion error: "..tostring(self)..">"));
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 end;
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 };
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 return {
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 new_error = function (message, data)
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 return setmetatable({ message = message, data = data }, error_mt);
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 end;
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 };

mercurial