exceptions.py 399 B

12345678910111213141516
  1. from typing import Final
  2. class ParseError(Exception):
  3. path: Final[str]
  4. lineno: Final[int]
  5. msg: Final[str]
  6. def __init__(self, path: str, lineno: int, msg: str) -> None:
  7. super().__init__(path, lineno, msg)
  8. self.path = path
  9. self.lineno = lineno
  10. self.msg = msg
  11. def __str__(self) -> str:
  12. return f"{self.path}:{self.lineno + 1}: {self.msg}"