Files
vscode/extensions/copilot/test/simulation/fixtures/notebook/fixing/fixing14.ipynb
T
2025-06-27 11:35:20 +02:00

1.3 KiB

In [ ]:
from __future__ import annotations

import textwrap
import traceback

class MultiError(Exception):

    def __init__(self, msg, *args, errors=()):
        if errors:
            types = set(type(e).__name__ for e in errors)
            msg = f'{msg}; {len(errors)} sub errors: ({", ".join(types)})'
            for er in errors:
                self.get_error_types()
                exc_fmt = traceback.format_exception(er)
                msg += f'\n + {exc_fmt[0]}'
                er_tb = ''.join(exc_fmt[1:])
                er_tb = textwrap.indent(er_tb, ' | ', lambda _: True)
                msg += f'{er_tb}\n'
        super().__init__(msg, *args)
        self.__errors__ = tuple(errors)

    def get_error_types(self, error_message : str):
        print('error : ' + error_message)
        return {type(e) for e in self.__errors__}