13 lines
503 B
Python
13 lines
503 B
Python
"""The single failure type. Every validation/parse problem raises BuildError so
|
|
the CLI can print a uniform 'BUILD FAILED: <what> [<id>] (<file:line>)'."""
|
|
|
|
|
|
class BuildError(Exception):
|
|
def __init__(self, message: str, source: str = "", entry_id: str = ""):
|
|
self.message = message
|
|
self.source = source
|
|
self.entry_id = entry_id
|
|
loc = f" [{entry_id}]" if entry_id else ""
|
|
src = f" ({source})" if source else ""
|
|
super().__init__(f"{message}{loc}{src}")
|