Without the ability to create Traceback objects in Python code, you are limited in what you can do. Ideally, you could create your own Traceback object and use it in 3-arg raise. But you're forbidden from subclassing Traceback or creating Traceback instances, and the type of the object is checked by 3-arg raise. Jeff