# Feature or enhancement Currently `traceback.TracebackException` appears to expect the "exc_type" argument to be `None` or an exception type object. [^1][^2] [^1]: https://github.com/python/cpython/blob/6f09f69b7f85962f66d10637c3325bbb2b2d9853/Lib/traceback.py#L722 [^2]: https://github.com/python/cpython/blob/6f09f69b7f85962f66d10637c3325bbb2b2d9853/Lib/traceback.py#L763 In addition to exception types, I'd like to be able to pass in either a `str` (the type's `__qualname__`) or an object that has the attributes that `TracebackException` need in order to do its job. For exception *types* the following attributes are especially important for `_PyErr_Display()`: * `__name__` * `__qualname__` * `__module__` So we would need those. If non-`str` were passed in then it would need to have those attrs set properly. If a `str` were passed in then we'd parse out the info and create a `types.SimpleNamespace` with that info to use instead. My motivation is propagating exceptions between interpreters. I want to use `TracebackException` but have it be strictly a snapshot of an exception, whereas right now it actually still holds a reference to `exc_type`. It also matters when pickling, where you may not want to pickle a user-defined exception type. <!-- gh-linked-prs --> ### Linked PRs * gh-112324 <!-- /gh-linked-prs -->