Source code for jgdv._abstract.error

 1#!/usr/bin/env python3
 2"""
 3
 4
 5
 6"""
 7# Import:
 8from __future__ import annotations
 9from typing import Final, Self
10from jgdv.debugging import TraceBuilder
11
12##--| Error Messages
13ErrorMSg_1 : Final[str] = "Test Message"
14
15
16##--| Errors
[docs] 17class JGDVError(Exception): 18 """ A Base Error Class for JGDV """ 19 20 def __getitem__(self, val:None|int|slice) -> Self: 21 """ Use jgdv.debugging.TraceBuilder to control the traceback 22 of this error 23 24 """ 25 match val: 26 case int() as x: 27 return self.with_traceback(TraceBuilder()[slice(x)]) 28 case slice(start=None) as x: 29 adjusted = slice(1, x.stop, x.step) 30 return self.with_traceback(TraceBuilder()[adjusted]) 31 case slice(start=int() as start) as x: 32 adjusted = slice(1+start, x.stop, x.step) 33 return self.with_traceback(TraceBuilder()[adjusted]) 34 case _: 35 return self.with_traceback(TraceBuilder()[1:])