stdlib/internal/types/error.codon

pull/13/head
Ishak Numanagić 2022-01-24 08:56:40 +01:00
parent 8b8c5a8729
commit 25c35f8466
1 changed files with 96 additions and 78 deletions

View File

@ -1,3 +1,6 @@
# (c) 2022 Exaloop Inc. All rights reserved.
# Warning(!): This type must be consistent with the exception # Warning(!): This type must be consistent with the exception
# header type defined in runtime/exc.cpp. # header type defined in runtime/exc.cpp.
@tuple @tuple
@ -9,211 +12,226 @@ class ExcHeader:
line: int line: int
col: int col: int
class OSError: class OSError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('OSError', '', '', '', 0, 0) self._hdr = ("OSError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('OSError', message, '', '', 0, 0) self._hdr = ("OSError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class IOError: class IOError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('IOError', '', '', '', 0, 0) self._hdr = ("IOError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('IOError', message, '', '', 0, 0) self._hdr = ("IOError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class ValueError: class ValueError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('ValueError', '', '', '', 0, 0) self._hdr = ("ValueError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('ValueError', message, '', '', 0, 0) self._hdr = ("ValueError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class IndexError: class IndexError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('IndexError', '', '', '', 0, 0) self._hdr = ("IndexError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('IndexError', message, '', '', 0, 0) self._hdr = ("IndexError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class KeyError: class KeyError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('KeyError', '', '', '', 0, 0) self._hdr = ("KeyError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('KeyError', message, '', '', 0, 0) self._hdr = ("KeyError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class OverflowError: class OverflowError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('OverflowError', '', '', '', 0, 0) self._hdr = ("OverflowError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('OverflowError', message, '', '', 0, 0) self._hdr = ("OverflowError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class CError: class CError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('CError', '', '', '', 0, 0) self._hdr = ("CError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('CError', message, '', '', 0, 0) self._hdr = ("CError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class PyError: class PyError:
_hdr: ExcHeader _hdr: ExcHeader
pytype: str pytype: str
def __init__(self, message: str, pytype: str): def __init__(self, message: str, pytype: str) -> void:
self._hdr = ('PyError', message, '', '', 0, 0) self._hdr = ("PyError", message, "", "", 0, 0)
self.pytype = pytype self.pytype = pytype
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class TypeError: class TypeError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('TypeError', '', '', '', 0, 0) self._hdr = ("TypeError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('TypeError', message, '', '', 0, 0) self._hdr = ("TypeError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class ZeroDivisionError: class ZeroDivisionError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('ZeroDivisionError', '', '', '', 0, 0) self._hdr = ("ZeroDivisionError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('ZeroDivisionError', message, '', '', 0, 0) self._hdr = ("ZeroDivisionError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class AttributeError: class AttributeError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('AttributeError', '', '', '', 0, 0) self._hdr = ("AttributeError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('AttributeError', message, '', '', 0, 0) self._hdr = ("AttributeError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class NotImplementedError: class NotImplementedError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('NotImplementedError', '', '', '', 0, 0) self._hdr = ("NotImplementedError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('NotImplementedError', message, '', '', 0, 0) self._hdr = ("NotImplementedError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class StopIteration: class StopIteration:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('StopIteration', '', '', '', 0, 0) self._hdr = ("StopIteration", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('StopIteration', message, '', '', 0, 0) self._hdr = ("StopIteration", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class AssertionError: class AssertionError:
_hdr: ExcHeader _hdr: ExcHeader
def __init__(self): def __init__(self) -> void:
self._hdr = ('AssertionError', '', '', '', 0, 0) self._hdr = ("AssertionError", "", "", "", 0, 0)
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('AssertionError', message, '', '', 0, 0) self._hdr = ("AssertionError", message, "", "", 0, 0)
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
class SystemExit: class SystemExit:
_hdr: ExcHeader _hdr: ExcHeader
_status: int _status: int
def __init__(self): def __init__(self) -> void:
self._hdr = ('SystemExit', '', '', '', 0, 0) self._hdr = ("SystemExit", "", "", "", 0, 0)
self._status = 0 self._status = 0
def __init__(self, status: int): def __init__(self, status: int) -> void:
self._hdr = ('SystemExit', '', '', '', 0, 0) self._hdr = ("SystemExit", "", "", "", 0, 0)
self._status = status self._status = status
def __init__(self, message: str): def __init__(self, message: str) -> void:
self._hdr = ('SystemExit', message, '', '', 0, 0) self._hdr = ("SystemExit", message, "", "", 0, 0)
self._status = 0 self._status = 0
def __init__(self, message: str, status: int): def __init__(self, message: str, status: int) -> void:
self._hdr = ('SystemExit', message, '', '', 0, 0) self._hdr = ("SystemExit", message, "", "", 0, 0)
self._status = status self._status = status
@property @property
def message(self): def message(self) -> str:
return self._hdr.msg return self._hdr.msg
@property @property
def status(self): def status(self) -> int:
return self._status return self._status