aboutsummaryrefslogtreecommitdiff
path: root/neb/exceptions.py
diff options
context:
space:
mode:
authormryouse2022-06-18 02:45:04 +0000
committermryouse2022-06-18 02:45:04 +0000
commitd1a1c1592e610526c4a0432f93bd9ea6ae96d6e8 (patch)
treedf4c78f3ce5dfb1369d5fc6c155ca43e8bfc729f /neb/exceptions.py
parent065d138ca3013a4d1ef1aa3d7c48982d8bee5de2 (diff)
refactor: make neb a module
Diffstat (limited to 'neb/exceptions.py')
-rw-r--r--neb/exceptions.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/neb/exceptions.py b/neb/exceptions.py
new file mode 100644
index 0000000..8bbe000
--- /dev/null
+++ b/neb/exceptions.py
@@ -0,0 +1,13 @@
+class NebPanic(BaseException):
+ pass
+
+class InterpretPanic(NebPanic):
+ def __init__(self, sym, msg, arg=None):
+ big_message = f"[{sym.line}] '{sym.name}': {msg}"
+ if arg is not None:
+ big_message += f" (got {arg})"
+ super().__init__(big_message)
+
+class LexError(NebPanic):
+ def __init__(self, message, line):
+ super().__init__(f"line {line}: {message}")